最近要做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命名空间。
单击“确定”后,项目结构变化:
第二种方式,以传统的webservice方式引用:
PS:SSRS里用的是“ReportingService2005”。实例化前一定要先using命名空间。
弹出高级窗口:
再点击“添加Web引用”:
完成引用,项目结构变化如图:
说明:本文只说明如何引用WCF和传统的Web Service。关于具体如何调用,可以查阅相关资料。