-1

SAP RFC 调用在 mac os 平台上不起作用。相同的代码在 Windows 上运行。有一些有趣的事情,如果我使用 SAP GUI 连接到 sap,我会在 mac 上成功调用 RFC。我使用 sap 官方 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 的库?有没有人遇到过这个问题?

4

2 回答 2

0

来自 JCo 的本地低级 CPIC 层的错误“发生超时”是从操作系统的 TCP/IP 堆栈报告的。它表示无法访问伙伴主机(指定的 SAP 网关主机)或没有响应。错误发生在 SAP 协议层以下,即某些 TCP/IP 层。

如果 SAP 系统通常可以通过其他程序或同一网段的其他主机访问和访问,我建议打开 CPIC 跟踪级别 2 (-Dcpic.trace=2) 并查看它,如果此跟踪有帮助在确定根本原因。例如,初始化 CPIC 库也可能出现问题,因为无法确定自己的IP 地址或主机名,或者无法解析自己的主机名。我认为ping <ownhostname>没有域的''必须工作。据我所知,工作 ' ping <ownhostname>.local' 是不够的。如果这将是根本原因,那么将自己的主机名添加到文件中可能会有所帮助etc/hosts

人们只能在这里猜测,而不能从错误消息本身、CPIC 跟踪以及有关您的网络基础设施和配置的知识中获得更多详细信息。但是你肯定不会在这里缺少图书馆。

于 2018-11-17T17:28:53.057 回答
0

我终于解决了问题。与问题相关的 VPN 应用程序。我用于 vpn Tunnelblick 应用程序。我们使用侧对侧 vpn 和 tunnelblick 默认版本不完全支持。我们更改了 tunnelblick 版本解决了所有问题。Tunnelblick 默认版本:2.4.6 但我使用 2.3.18 进行侧对侧 vpn。 Tunnelblick 配置屏幕。

于 2018-11-27T08:38:30.567 回答