【问题标题】:Different return from SOAPMANAGER and wsadmin WSDL来自 SOAPMANAGER 和 wsadmin WSDL 的不同返回
【发布时间】:2010-11-05 13:47:15
【问题描述】:

我正在尝试使用 SAP Web 服务进行简单的应用程序。我通过 SOAPMANAGER 将 WSDL 链接添加到项目中作为 Web 参考,并且 C# 创建了复杂类型,其中包括 RFC 导入/导出参数和表。如果我想调用 Web 服务方法,我将所有值发送到一个复杂类型的变量中,并且返回的值也具有相同的类型。

但返回的表是初始的。

但是,由于从另一个系统中的 wsconfig/wsadmin 接收到 WSDL 链接(RFC 相同),C# 没有为每个 RFC 参数创建任何复杂类型而是简单类型,并且正确返回了值。

为什么 SOAPMANAGER 和 wsconfig 创建不同的 WSDL?如何解决这个问题?

任何提示或技巧?

【问题讨论】:

    标签: c# .net web-services abap


    【解决方案1】:

    如前所述,wsconfig 和 wsadmin 被视为已弃用,因此您应该始终使用 soamanager 事务。当您在 soamanager 中打开 Web 服务的 WSDL 时,您将在新的浏览器窗口中看到它。在它的地址位置栏(例如:URL)中,您会在末尾的某处看到“../ws_policy/..”——尝试将其替换为“../standard/..”并用这个新的重新加载 WSDL地址,然后将这个新的/其他 WSDL 用于您的客户端程序。

    这有帮助吗?

    【讨论】:

    • 感谢您的建议,但它不起作用。它再次创建复杂类型并且返回值不正确。
    【解决方案2】:

    两个系统是否处于同一版本级别?对于较新的版本,WSDL 生成机制可能会发生变化。因此wsconfig / wsadmin 被认为已弃用,如果可用,您应该使用soamanager

    【讨论】:

    • 不同级别。如果我使用soapmanager wsdl,返回的表是空的。
    • 这是为什么呢?是否调试过 SAP 端的函数调用?
    猜你喜欢
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-13
    相关资源
    最近更新 更多