如何使用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服务消费代码:

  1. 实例化MyService。
  2. 设置其Url属性
  3. 调用Web方法