SAP RFC调用在Mac OS平台上不起作用。在Windows上运行相同的代码。有一些有趣的事情,如果我使用SAP GUI连接到树液,则可以在Mac上成功调用RFC。我使用sap Official jco lib进行连接。
我的本地计算机配置:
SAP Java Connector runtime information
Java Runtime:
Operating System : Mac OS X 10.12.4 for x86_64
Java VM : 1.8.0_121 Oracle Corporation
Default charset : UTF-8
Versions:
JCo API : 3.0.16 (2016-12-06)
JCo middleware : JavaRfc 2.2.19
JCo library : 721.800
Library Paths:
Path to JCo archive : /Users/**/sapcorejco/lib/sapjco3.jar
Path to JCo library : /Users/**/lib/darwinintel64/libsapjco3.jnilib
我的错误是
ERROR [hybrisHTTP10] [DefaultSAPRFCDestinationService] com.sap.conn.jco.JCoException: (102) JCO_ERROR_COMMUNICATION: Initialization of destination SQ2 failed: Connect to SAP gateway failed
详细信息:
LOCATION CPIC (TCP/IP) on local host
ERROR timeout occured
我认为,主要问题与MAC OS有关,因为相同的代码在Windows计算机中运行。也许我们缺少一些来自SAP GUI的库?有没有人遇到这个问题?
答案 0 :(得分:0)
从操作系统的TCP / IP堆栈报告了JCo本地低级CPIC层的错误“发生超时”。它指示无法访问伙伴主机(指定的SAP网关主机)或没有响应。该错误发生在SAP协议层以下,即在某些TCP / IP层上。
如果通常可以访问SAP系统,并且可以使用其他程序或同一网段的其他主机访问SAP系统,则建议打开CPIC跟踪级别2(-Dcpic.trace = 2)进行调查(如果这样做)跟踪可以帮助确定根本原因。例如,由于无法确定 拥有 的IP地址或主机名,或者 拥有,因此初始化CPIC库也可能会出现问题。 主机名无法解析。我认为没有域的'ping <ownhostname>
'必须正常工作。据我所知,工作的'ping <ownhostname>.local
'是不够的。如果这是根本原因,则可能将 ownhostname 添加到etc/hosts
文件中会有所帮助。
一个人只能在这里猜测,而不会从错误消息本身,CPIC跟踪以及有关您的网络基础结构和配置的知识中获得更多细节。但是您可以确定这里没有图书馆。
答案 1 :(得分:0)