C#三种方式调用WebService接口详解:wsdl引用与动态调用

60 下载量 22 浏览量 更新于2024-08-30 收藏 412KB PDF 举报
在C#中,调用WebService接口有三种常见的方法,分别是通过引用*.wsdl文件、利用Visual Studio (VS)工具和直接通过URL调用,以及使用动态调用。以下是每种方法的详细介绍: 1. 引用*.wsdl文件 WebService服务提供方通常会提供wsdl文件,这是服务接口的描述文档。客户端可以通过这个文件生成对应的C#类文件(.cs)和.dll文件。如果服务端仅提供了URL,可以将其添加"?wsdl"并在浏览器中访问,将返回的页面内容保存为wsdl文件。生成.cs文件有两种方式: - **方法一:VS命令行工具** - 使用`wsdl`命令行工具,例如输入`wsdl /language:c# /n:CHEER.PresentationLayer /out:生成类的物理路径`,其中`/n`指定命名空间,`/out`指定输出的CS文件路径。 2. VS中添加外部工具 - 在VS的“工具”菜单中,可以设置外部工具来调用`wsdl.exe`。配置参数包括工具的物理路径(C:\ProgramFiles(x86)\MicrosoftSDKs\Windows\v10.0A\bin\NETFX4.6.1Tools\wsdl.exe),初始目录设置为项目根目录(`$(ItemDir)`),并自定义命名空间。 - 使用时,首先输入自定义的命名空间,然后在`out:`后面添加WebService的URL或wsdl文件路径。 3. 已知WebService接口URL直接调用 - 在VS中,通过"添加服务引用"功能,选择“高级”选项,输入WebService的URL,系统会自动识别并添加相应的引用。之后,可以直接使用该命名空间下的类实例化对象,并调用接口方法。 4. 动态调用WebService - 当需要在运行时动态调用WebService时,可以创建一个帮助类`WebServiceHelper`,其中包含`InvokeWebService`方法。该方法接受WSDL服务地址、方法名和参数作为输入,允许程序在运行时根据需要动态调用WebService。 通过以上这些方法,开发者可以根据项目的具体需求和环境选择最适合的方式来调用C#的WebService接口,实现与远程服务的交互。