关于在c#Desktop应用程序中使用php web服务的问题

我正在开发ac#desktop应用程序并使用在我尝试使用该应用程序时在php应用程序中开发的webservies。 我只是添加该Web服务的Web引用,并尝试通过以下代码访问

WebReference.TestWSDL pdl = new testingApp.WebReference.TestWSDL(); string copy = pdl.verify("testing"); 

当我尝试调用方法validation时,它会抛出错误。 错误是

可能的SOAP版本不匹配:Envelope命名空间http://schemas.xmlsoap.org/wsdl/是意外的。 期待http://schemas.xmlsoap.org/soap/envelope/ 。

和Web服务链接就像

http://171.139.101.12/code/index.php/webservice/wsdl

您遇到的错误是通知您,当您调用Web服务时,您将获得服务的WSDL(Web服务定义语言) – 这是描述服务function的元数据,但实际上不能用于调用服务。 通常,您通过将“?wsdl”或“wsdl”附加到服务URI来访问WSDL。

您尝试使用的Web服务有两个元素。

实际服务存在于:

http://171.139.101.12/code/index.php/webservice

描述它的元数据(Visual Studio通过wsdl.exe用于生成代理)驻留在此处:

http://171.139.101.12/code/index.php/webservice/wsdl

您需要编辑Web引用的属性并适当地更新地址。 或者,您可以更改pdl变量的属性,并在代码中更改端点。