.NET命名冲突问题中的SAP Web服务引用

时间:2011-10-27 08:21:56

标签: c# .net web-services sap

当我尝试使用SAP时出现.net问题, 元素系统引发此错误

  error CS0120: An object reference is required for the nonstatic field, method, or property 'Bapiret2.System'

他们是这里描述的解决方案但我想找到一个不需要更改WSDL的解决方案

http://www.drowningintechnicaldebt.com/ShawnWeisfeld/archive/2009/04/17/system-namespace-conflict-in-sap-web-services.aspx

或者这个, http://ddkonline.blogspot.com/2009/09/sap-to-microsoft-net-integration-fixes.html

你对此有什么经验以及如何解决它?

感谢 三木

2 个答案:

答案 0 :(得分:5)

问题是因为Windows和BAPI中的系统命名空间。这可以通过在所有给出上述错误的调用之前添加global ::来处理。这不涉及编辑WSDL。

参考文献:评论您上面提到的page之一以及提及评论的link

答案 1 :(得分:3)

由于此问题是由.NET和SAP中的命名冲突引起的,因此在不更改SAP配置的情况下解决此问题的另一种解决方法:

在Reference.cs

中为System.XML添加别名,如下所示
df = df[df['col1'] != 'a1']

然后,将所有报告错误的System.Xml替换为“SysXml”,如下所示(请注意,添加服务后,“SysXml”这个词最初是“System.Xml”,导致此问题)

using SysXml = System.Xml;