我在我的应用程序中使用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?的代码,但没有结果。
谢谢。
答案 0 :(得分:2)
是的,我们使用像Visual Studio这样的工具的原因之一是因为它使我们不必输入很多无聊的东西,比如xmls。
当你添加一个服务引用时,它会为你创建代码,使你能够像调用任何其他类的方法一样调用你的服务方法。
您不再需要担心xml的外观,SOAP标头或信封中的内容等等。
为什么不试一试,看看它是否有效?
(老实说,我以前必须创建自己的肥皂消息,当我第一次在C#中使用服务引用时,我对代码的缺失感到惊讶:))