问题,使用.Net消费SAP Web服务

时间:2010-11-05 13:47:16

标签: c# .net web-services sap abap

如今我正在尝试使用SAP Web服务的简单应用程序。我通过soap manager获得了wsdl链接,并将其作为web refences添加到项目中。 C#创建了一个复杂的类型,其中包括我的RFC的导入 - 导出参数和表格,如果我想调用Web服务方法,我必须将所有值发送到变量类型复杂也返回值返回给我一个变量类型相同。但是返回的表格是最初的。

但是,我通过wsconfig和wsadmin在另一个系统中获得了wsdl链接但是相同的RFC,C#没有创建任何复杂的类型。它为每个RFC参数创建了不同的类型,我可以在不同的变量中发送我的值,返回的值也是正确的。

为什么soap manager和wsconfig创建不同的wsdl或为什么C#为同一个RFC创建不同的类型和方法? 如何解决这个问题呢?你知道任何提示或技巧吗?

感谢您提供建议

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

这有帮助吗?