“ServiceReferences”是否自动生成带有方法参数的xml?

时间:2013-10-25 15:04:18

标签: c# xml web-services

我在我的应用程序中使用Web服务。

因此,我使用Web服务的URL添加服务引用。

然后,我创建了一个对象实现客户端,可以调用webservice的方法。

这些方法需要很多论据。

当我在对象客户端上调用我的方法时,引用是否自动生成了他需要的代码xml,就像程序soapUi那样?

例如:

 MyWebService.ImplClient webService = new MyWebService.ImplClient;

            webService.Open();
webService.send(value1,
                     value2, etc...);

使用soapui,如果我选择方法send,我得到了一个xml,如:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webServices/">
   <soapenv:Header/>
   <soapenv:Body>
      <web:send>
         <!--Optional:-->
         <param1>value1</param1>
         <!--Optional:-->
         <param2>value2</param2>

所以,当我调用我的方法发送c#时,引用是否与soapUi一样(如我所示)?

我不太了解它是否像这样。

我问这个是因为我尝试了一些类似Web Service without adding a reference?的代码,但没有结果。

谢谢。

1 个答案:

答案 0 :(得分:2)

是的,我们使用像Visual Studio这样的工具的原因之一是因为它使我们不必输入很多无聊的东西,比如xmls。

当你添加一个服务引用时,它会为你创建代码,使你能够像调用任何其他类的方法一样调用你的服务方法。

您不再需要担心xml的外观,SOAP标头或信封中的内容等等。

为什么不试一试,看看它是否有效?

(老实说,我以前必须创建自己的肥皂消息,当我第一次在C#中使用服务引用时,我对代码的缺失感到惊讶:))