如何使用WSDL
我需要使用Web服务。 他们给我发送了WSDL文件。 我应该做些什么来将其添加到我的网站,并开始使用它作为代理。 (如果我把它放在一个虚拟目录中,它可以被发现,但它是否授予我与真正的Web服务的连接?)
我将启动Visual Studio 2008,创build一个Web项目(或控制台应用程序 – 无所谓),然后右键单击该项目,然后从上下文菜单中select“添加服务引用”。
在文本框中input文件path和名称,然后导入WSDL – 这将生成一个简单,非常基本的WCF客户端供您使用。 您应该在生成的代码中find“YourservicenameClient”类,它应该为WSDL合约上的每个已定义方法提供方法。
实例化客户端并调用你想要调用的方法 – 这就是全部!
YourServiceClient client = new YourServiceClient(); client.SayHello("World!");
如果您需要指定远程URL(不使用默认创build的远程URL),则可以在代理客户端的构造函数中轻松完成此操作:
YourServiceClient client = new YourServiceClient("configName", "remoteURL");
其中configName
是要使用的端点的名称(您将使用除URL之外的所有设置),而remoteURL
是表示要连接到的URL(而不是configuration中包含的URL)的string。
在视觉工作室。
- 创build或打开一个项目。
- 在解决scheme资源pipe理器中右击项目
- select“添加服务引用”
- 将地址粘贴到您收到的WSDL。
- 点击OK。
如果没有错误,您应该能够在对象浏览器中看到服务引用以及所有相关的方法。
使用WSDL.EXE实用程序从WSDL生成Web Service代理。
你会得到一个长的C#源文件,其中包含一个如下所示的类:
/// <remarks/> [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] [System.Web.Services.WebServiceBindingAttribute(Name="MyService", Namespace="http://myservice.com/myservice")] public partial class MyService : System.Web.Services.Protocols.SoapHttpClientProtocol { ... }
在你的客户端,Web服务消费代码:
- 实例化MyService。
- 设置其Url属性
- 调用Web方法