我已经阅读了关于SOAP and WSDL in .NET
这个有用的帖子我正在尝试构建一个C#SOAP客户端,我已按照说明添加了一个"服务引用"对于WSDL,但是应该生成的客户端代理是不生成的。我只能看到类,接口,枚举等......我无法宣布任何内容。我不能:
MyService.MyWebServiceSoapClient ws = new MyService.MyWebServiceSoapClient();
因为我没有客户端来初始化。
所以我尝试打开开发人员控制台并输入
wsdl.exe <url_to_my_wsdl>
但它返回了一个我无法理解的错误。沿线的东西:
无法导入操作&some;操作&#39; 元素参数,属于命名空间urn:my:namespace,在2个不同的上下文中导入:PrimitiveMapping,MembersMapping。
有什么想法吗?谢谢。
答案 0 :(得分:0)
我自己找到了解决这个问题的方法。经过大量的试验和错误修改后,我得出结论“&#34;参数&#34;不欢迎进入.NET环境。所以我用&#34; params&#34;更改了它。现在它被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>