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

标签 c# php web-services desktop-application

当我尝试使用该应用程序时,我正在开发一个 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/ .

网络服务链接就像

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

最佳答案

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

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

实际服务存在于:

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

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

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

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

关于c# - 关于在 c# 桌面应用程序中使用 php web 服务的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2062722/

相关文章:

c# - 返回引用与不返回任何内容之间的区别

c# - 将 C# 的复杂类型转换为 YAML

php - 我在哪里可以学习网络编程从入门到精通?

java - 如何通过 Junit 测试 Web Service 调用

c# - 我们如何从 SQL Server CLR 调用 SSL Web 服务?

c# - 在调试器可视化器中获取变量名

c# - 在 C# 中为 OrderedDictionary 连续赋值

php - 构造函数没有被调用

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

c# - 尝试添加服务引用时出错