最近要做SSRS的东西,需要掉SSRS的webservice做一些处理,网上搜了N多的信息都说用到ReportingService2005的类,但是在VS2008里尝试了一下却发现找不到这个类,有一个类似的ReportingService2005SoapClient类似乎提供了非常相似的功能,但是又没有办法指定credential。后来搜到了下面的连接http://www.sqldev.org/sql-server-reporting-services/cannot-find-reportingservice2005-class-with-the-reportservice2005asmx-web-service-18059.shtml, 原来只能把asmx用传统的add web reference的形式添加进来才能看到ReportingService2005这个类。VS2008默认的是添加WCF service,也就是Add Service Reference,但是在高级选项里提供了add web service这一选项。
下面将简单记录一下两者的区别:
第一种方式,使用WCF方式引用:
PS:使用“XXXSoapClient”类调用WCF,SSRS里用的是“ReportingService2005SoapClient”。实例化前一定要先using命名空间。
![调用Web服务,在ReportService2005.asmx 找不到 ReportingService2005 类 - GreatWang - 追求属于自己的一切 调用Web服务,在ReportService2005.asmx 找不到 ReportingService2005 类 - GreatWang - 追求属于自己的一切](http://img3.ph.126.net/nLZl3wMjRkcxAQCY6N_2uw==/2538904289947937113.jpg)
单击“确定”后,项目结构变化:
![调用Web服务,在ReportService2005.asmx 找不到 ReportingService2005 类 - GreatWang - 追求属于自己的一切 调用Web服务,在ReportService2005.asmx 找不到 ReportingService2005 类 - GreatWang - 追求属于自己的一切](http://img6.ph.126.net/pEZx1tv4MsntVmNdZXqT-A==/42502721500933636.jpg)
第二种方式,以传统的webservice方式引用:
PS:SSRS里用的是“ReportingService2005”。实例化前一定要先using命名空间。
![调用Web服务,在ReportService2005.asmx 找不到 ReportingService2005 类 - GreatWang - 追求属于自己的一切 调用Web服务,在ReportService2005.asmx 找不到 ReportingService2005 类 - GreatWang - 追求属于自己的一切](http://img1.ph.126.net/oLkuRLkZ0cokJ-Sc4uvV6Q==/6597178618307586031.jpg)
弹出高级窗口:
![调用Web服务,在ReportService2005.asmx 找不到 ReportingService2005 类 - GreatWang - 追求属于自己的一切 调用Web服务,在ReportService2005.asmx 找不到 ReportingService2005 类 - GreatWang - 追求属于自己的一切](http://img0.ph.126.net/Vfhf2E8xB1KFG56GOJAKZg==/1570067420109661650.jpg)
再点击“添加Web引用”:
![调用Web服务,在ReportService2005.asmx 找不到 ReportingService2005 类 - GreatWang - 追求属于自己的一切 调用Web服务,在ReportService2005.asmx 找不到 ReportingService2005 类 - GreatWang - 追求属于自己的一切](http://img2.ph.126.net/rbs93nix2BW8lTRPFOW9ow==/6597361137237660782.jpg)
完成引用,项目结构变化如图:
![调用Web服务,在ReportService2005.asmx 找不到 ReportingService2005 类 - GreatWang - 追求属于自己的一切 调用Web服务,在ReportService2005.asmx 找不到 ReportingService2005 类 - GreatWang - 追求属于自己的一切](http://img5.ph.126.net/8GFulhDtO82ENfeYrN3s2w==/6597161026121542105.jpg)
说明:本文只说明如何引用WCF和传统的Web Service。关于具体如何调用,可以查阅相关资料。