我在Eclipse for Mac中使用JCo连接器访问大量RFC的java Web服务,但是我的java代码无法访问出错“(102)JCO_ERROR_COMMUNICATION:连接到SAP网关的SAP失败“,但我通过添加你想要访问的服务器的ip,mac os x的文件主机来解决它。问题是,当您在Mac OS X服务器上访问此Web服务时,返回错误“ hostname.private ”,我无法访问SAP。
JCo例外:
com.sap.conn.jco.JCoException:
(102) JCO_ERROR_COMMUNICATION: Connect to SAP gateway failed
Connection parameters: TYPE=A DEST=ABAP_AS ASHOST=192.168.90.5 SYSNR=04 SAPROUTER=/H/192.220.35.89/S/3299 PCS=1
LOCATION CPIC (TCP/IP) on local host
ERROR hostname 'servermac.private' unknown
TIME Mon Jul 4 13:18:36 2011
RELEASE 720
COMPONENT NI (network interface)
VERSION 40
RC -2
MODULE nixxhl.cpp
LINE 183
DETAIL NiHLGetNodeAddr: hostname cached as unknown
COUNTER 4 here
网络服务错误:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<soapenv:Fault>
<faultcode>soapenv:Server.userException</faultcode>
<faultstring>java.lang.reflect.InvocationTargetException</faultstring>
<detail>
<ns1:hostname xmlns:ns1="http://xml.apache.org/axis/">servermac.private</ns1:hostname>
</detail>
</soapenv:Fault>
答案 0 :(得分:1)
当我用ip连接服务器编辑hosts文件时,可以有效连接 SAP,但错误在于WSDL上的错误,而不是具体,而是我的Web服务已导出到WAR并在另一台服务器上使用它无法连接,因为该库无法找到JCo的libsapjco3.jnilib因此给了我主机无法连接的错误。
然后在项目的属性 - &gt;部署组件中,agrege添加了sapjco3.jar,并在lib部分的外部项目中,libsapjco3.jnilib库,运行良好。