c# - 来自 SOAPMANAGER 和 wsadmin WSDL 的不同返回

标签 c# .net web-services abap

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

但是返回的表是初始的。

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

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

有什么提示或技巧吗?

最佳答案

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

这有帮助吗?

关于c# - 来自 SOAPMANAGER 和 wsadmin WSDL 的不同返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4106408/

相关文章:

asp.net - 它应该是 WebAPI 还是 asmx

java - 重新设计 API 以拒绝重复请求

c# - 发布请求正文太大(参数对象中的字符串太大)

c# - 为什么 .NET 中的已检查算法有时比未检查的算法快?

c# - 是否可以在 C# 中为变量创建别名?

c# - MySql 使用旧密码进行身份验证时出错

asp.net-mvc - 如何使用 IHttpActionResult 设置 header

c# - 如何使用 Xamarin 在 Android 应用程序中添加联系信息

c# - 设计建议。使用 DataTable 或 List<MyObject> 作为通用规则检查器

c# - TableLayoutPanel 最后一行大小太大