SOAPMANAGER 和 wsadmin WSDL 的不同返回

发布于 2024-09-30 18:15:41 字数 359 浏览 3 评论 0原文

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

但返回的表是初始的。

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

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

有什么提示或技巧吗?

I'm trying to do simple application consuming SAP web service. I ave WSDL link via SOAPMANAGER which I added to project as web reference, and C# created complex type which includes RFC import/export parameters and tables. If I want to call web services method I send all my values in a variable of complex type and returned values also has the same type.

But returned tables are initial.

However, with WSDL link received from wsconfig/wsadmin in another system (RFC is the same), C# didn't create any complex type but simple types for each RFC parameter and the values are returned correctly.

Why SOAPMANAGER and wsconfig create different WSDLs? How to solve this problem?

Any tips or tricks?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浅忆流年 2024-10-07 18:15:42

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

这有帮助吗?

As already mentioned, wsconfig and wsadmin is considered deprecated, so you should always use the soamanager transaction. When you open the WSDL for a web service in soamanager, you will see it in a new browser window. In it's address location bar (say: the URL) you see somewhere at the end a "../ws_policy/.." -- try to replace this to "../standard/.." and reload the WSDL with this new address, then use this new/other WSDL for your client program.

Does this help?

一张白纸 2024-10-07 18:15:42

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

Are both systems on the same release level? With newer releases, there could be changes in the WSDL generation mechanism. So wsconfig / wsadmin is considered deprecated and you should use soamanager if available.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文