我试图弄清楚当客户端想要调用作为Web服务公开的功能模块或BAPI时,SAP期望的XML-RPC请求格式是什么。
例如,如果我尝试在非 SAP java 对象上调用方法,格式如下:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<methodCall>
<methodName>Calculator.add</methodName>
<params>
<param>
<value><i4>30</i4></value>
</param>
<param>
<value><i4>9</i4></value>
</param>
</params>
</methodCall>
我对<methodName>
特别感兴趣。在我的示例中,使用了典型的面向对象表示法,即<object name>.<method name>
.但是,SAP 函数模块和 BAPI 是平面函数调用,因此上述命名表示法不适用。
是否有人具有配置 SAP 系统以接受和响应此类 XMLRPC 调用的经验?如果是这样,SAP 系统究竟是如何配置的,它期望接收哪些<methodName>
以便正确为调用方提供服务?或者换个说法,调用者需要知道什么才能使用这样的服务?
如果调用方尝试调用 ABAP 对象上的方法,而不是像 BAPI 那样的平面函数调用,该怎么办?
我没有 SAPNet 帐户,所以请不要将我定向到 SAP 文档,除非它是公开可用的 - 否则我无法访问它。
此外,我无法访问SAP系统来测试所有这些,因此我正在尝试盲目理解和编码。如果您知道一种免费/非常便宜的方式来访问测试系统,请告诉我,这将非常有帮助。
非常感谢
我之前已经将SAP CRM Web服务连接到Android,Java和.NET。我希望这个链接有所帮助。在那篇文章中,您可以看到集成Java和SAP Web服务的基本编码。如果您还有其他问题,我会尝试帮助。
希望对您有所帮助。
塔尔哈
有多种方法可以与SAP系统进行通信,但afaik XML-RPC不是其中之一。
一种方法是使用 SAP 自己的 RFC 协议来执行函数调用。SAP为各种操作系统提供了一个库,并为Java和.NET提供了连接器。还有免费的PHP和Ruby连接器(也许还有其他连接器,我不知道)。
然后是业务连接器,PI,网关,企业服务,生成的SOAP服务,自定义RESTful服务等。