Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 来自SOAPMANAGER和wsadmin WSDL的不同返回_C#_.net_Web Services_Abap - Fatal编程技术网

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

C# 来自SOAPMANAGER和wsadmin WSDL的不同返回,c#,.net,web-services,abap,C#,.net,Web Services,Abap,我正在尝试使用SAP web服务执行简单的应用程序。我通过SOAPMANAGER保存WSDL链接,SOAPMANAGER作为web引用添加到项目中,C#创建了复杂类型,其中包括RFC导入/导出参数和表。如果我想调用web服务方法,我会将所有值发送到一个复杂类型的变量中,返回的值也具有相同的类型 但是返回的表是初始的 但是,由于在另一个系统中从wsconfig/wsadmin接收到WSDL链接(RFC是相同的),C#没有为每个RFC参数创建任何复杂类型,而是简单类型,并且正确返回了值 为什么SOA

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

但是返回的表是初始的

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

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


有什么提示或窍门吗?

这两个系统在同一版本上吗?对于较新的版本,WSDL生成机制可能会发生变化。因此,
wsconfig/wsadmin
被视为不推荐使用,如果可用,您应该使用
soamanager

如前所述,wsconfig和wsadmin被视为不推荐使用,因此您应该始终使用soamanager事务。在soamanager中打开web服务的WSDL时,您将在新的浏览器窗口中看到它。在它的地址位置栏(比如:URL)中,您会在结尾的某个地方看到一个“./ws\u policy/”--尝试将其替换为“./standard/”,并用这个新地址重新加载WSDL,然后为您的客户机程序使用这个新的/其他WSDL


这有帮助吗?

不同级别。如果我使用soapmanager wsdl,返回的表是空的。为什么?您是否调试了SAP端的函数调用?谢谢您的建议,但它不起作用。它再次创建复杂类型,返回的值不正确。