.NET 中的 SOAP 客户端引用现有的 WSDL
SOAP client in .NET referencing existing WSDL
我已经读过这个关于 SOAP and WSDL in .NET
的有用帖子
我正在尝试构建一个 C# SOAP 客户端,我已按照说明向 WSDL 添加了一个 "service reference",但是应该生成的客户端代理是 没有生成。我只能看到 类、接口、枚举等……我不能声明任何东西。我就是不能:
MyService.MyWebServiceSoapClient ws = new MyService.MyWebServiceSoapClient();
因为我没有客户端要初始化
所以我尝试打开开发者控制台并输入
wsdl.exe <url_to_my_wsdl>
但是它返回了一个我无法理解的错误。沿线的东西:
Impossible to import operation 'someOperation'.
Element parameters, belonging to the namespace urn:my:namespace, imported in 2 differents context: PrimitiveMapping, MembersMapping.
有什么想法吗?谢谢。
我自己找到了解决这个问题的方法。经过大量的试错修改后,我得出的结论是 "parameters" 这个词在 .NET 环境中不是很受欢迎。所以我用 "params" 改变了它,现在它被 wsdl.exe
正确导入了
所以我以前的 WSDL 的一部分是这样的:
<wsdl:message name="isServiceOnline">
<wsdl:part name="parameters" element="MyElement"></wsdl:part>
</wsdl:message>
它的新版本是:
<wsdl:message name="isServiceOnline">
<wsdl:part name="params" element="MyElement"></wsdl:part>
</wsdl:message>
我已经读过这个关于 SOAP and WSDL in .NET
的有用帖子我正在尝试构建一个 C# SOAP 客户端,我已按照说明向 WSDL 添加了一个 "service reference",但是应该生成的客户端代理是 没有生成。我只能看到 类、接口、枚举等……我不能声明任何东西。我就是不能:
MyService.MyWebServiceSoapClient ws = new MyService.MyWebServiceSoapClient();
因为我没有客户端要初始化
所以我尝试打开开发者控制台并输入
wsdl.exe <url_to_my_wsdl>
但是它返回了一个我无法理解的错误。沿线的东西:
Impossible to import operation 'someOperation'.
Element parameters, belonging to the namespace urn:my:namespace, imported in 2 differents context: PrimitiveMapping, MembersMapping.
有什么想法吗?谢谢。
我自己找到了解决这个问题的方法。经过大量的试错修改后,我得出的结论是 "parameters" 这个词在 .NET 环境中不是很受欢迎。所以我用 "params" 改变了它,现在它被 wsdl.exe
正确导入了所以我以前的 WSDL 的一部分是这样的:
<wsdl:message name="isServiceOnline">
<wsdl:part name="parameters" element="MyElement"></wsdl:part>
</wsdl:message>
它的新版本是:
<wsdl:message name="isServiceOnline">
<wsdl:part name="params" element="MyElement"></wsdl:part>
</wsdl:message>