当前位置 : 主页 > 编程语言 > c++ >

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

来源:互联网 收集:自由互联 发布时间:2021-06-23
我正在开发一个c#桌面应用程序并使用在我尝试使用该应用程序时在php应用程序中开发的webservies.我只是添加该Web服务的Web引用,并尝试通过以下代码访问 WebReference.TestWSDL pdl = new testing
我正在开发一个c#桌面应用程序并使用在我尝试使用该应用程序时在php应用程序中开发的webservies.我只是添加该Web服务的Web引用,并尝试通过以下代码访问

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

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

可能的SOAP版本不匹配:信封命名空间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服务定义语言) – 这是描述服务功能的元数据,但实际上不能用于调用服务.通常,您通过将“?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变量的属性,并在代码中更改端点.

网友评论