【问题标题】:SOAP client in .NET referencing existing WSDL.NET 中的 SOAP 客户端引用现有的 WSDL
【发布时间】:2017-05-24 13:15:40
【问题描述】:

我已经阅读了这个关于SOAP and WSDL in .NET 的有用帖子

我正在尝试构建 C# SOAP 客户端,我已按照说明向 WSDL 添加了“服务引用”,但应该生成的客户端代理 不是强>生成。我只能看到类、接口、枚举等……我不能声明任何东西。我就是做不到:

MyService.MyWebServiceSoapClient ws = new MyService.MyWebServiceSoapClient();

因为我没有要初始化的客户端。

所以我尝试打开开发者控制台并输入

wsdl.exe <url_to_my_wsdl>

但它返回了一个我无法理解的错误。顺带一提:

无法导入操作“someOperation”。
元素参数,属于命名空间 urn:my:namespace,在 2 个不同的上下文中导入:PrimitiveMapping、MembersMapping。

有什么想法吗?谢谢。

【问题讨论】:

    标签: c# visual-studio web-services soap wsdl


    【解决方案1】:

    我自己找到了解决这个问题的方法。经过大量试验和错误修改后,我得出结论,“参数”这个词在 .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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-30
      • 1970-01-01
      • 1970-01-01
      • 2010-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-20
      相关资源
      最近更新 更多