详解C#如何动态调用WebService

    技术2022-05-19  26

        需要动态调用WebService,就需要首先生成WebService代理类,以下是生成WebService代理类的方法:

        1、VS2005命令:

              开始》运行》CMD

              C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin>wsdl /language:c# /n:XYS.MISS.Photo.PhotoAdmin /out:d:\Temp\TestService.cs D:\Temp\TestService.wsdl             以上命令回在d:/Temp下就会产生一个TestService.cs 文件 ,这就是生成的WebService代理类了。参数说明: 

              (1)、/language:C# 为输出语言           (2)、/n: 命名空间           (3)、/out:myProxyClass.cs 输出文件名   (注意:D:\Temp\TestService.wsdl 是wsdl路径,可以是url路径:http://localhost/Temp/Test.asmx?wsdl)

         2、VS2008命令:

              Microsfot visual studeio 2008》Visual Studio Tools》D:\Program Files\Microsoft Visual Studio 9.0\VC>             svcutil.exe http://localhost:1101/UpdateService.svc /serializer:DataContractSerializer            在D:\Program Files\Microsoft Visual Studio 9.0\VC 文件夹下自动生成一个UpdateService.cs文件和output.config文件,把output.config对应结点<system.serviceModel>下的内容copy到要调用服务的web.config下面即可。

     

            把以上生成的代理类拷贝到项目中,就可以像普通类一样生成引用对象了。当然,如果需要动态配置WebService地址时,可以在代理类中增加一个构造函数,如:

            public WinFormUpdate(string strURL)         {                this.Url = strURL;         }


    最新回复(0)