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

Azh*_*har 3 php c# web-services desktop-application

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

WebReference.TestWSDL pdl = new testingApp.WebReference.TestWSDL();
string copy = pdl.verify("testing");
Run Code Online (Sandbox Code Playgroud)

当我尝试调用方法验证时,它会抛出错误.错误是

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

和Web服务链接就像

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

Gar*_*aul 7

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

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

实际服务存在于:

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

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

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

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