使用jco lib和java在Mac OS上进行RFC调用不起作用

时间:2018-10-08 11:54:14

标签: sap jco saprfc sapjco3

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的库?有没有人遇到这个问题?

2 个答案:

答案 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)

我终于解决了问题。与问题相关的VPN应用程序。我使用vpn Tunnelblick应用程序。我们使用并排vpn,tunnelblick默认版本不完全支持。我们更改了tunnelblick的版本解决了所有问题.Tunnelblick的默认版本为2.4.6,但我使用2.3.18进行了侧对边的VPN。 Tunnelblick configuration screen.