3

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

但返回的表是初始的。

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

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

任何提示或技巧?

4

2 回答 2

1

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

这有帮助吗?

于 2010-11-21T00:27:43.843 回答
0

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

于 2010-11-07T19:31:05.053 回答