开发者

how to access the SAP JCo connector from a Java Web Service?

开发者 https://www.devze.com 2023-03-17 11:38 出处:网络
I\'ve a java web service in Eclipse for Mac usi开发者_开发技巧ng the JCo connector to access a number of RFCs, but my java code could not access SAP that had the error \"(102) JCO_ERROR_COMMUNICATION:

I've a java web service in Eclipse for Mac usi开发者_开发技巧ng the JCo connector to access a number of RFCs, but my java code could not access SAP that had the error "(102) JCO_ERROR_COMMUNICATION: Connect to SAP gateway failed", But I solved it by adding the ip of the server you want access, the file hosts of mac os x. The problem is that when you access this web service is on a Mac Os X server, returns the error "hostname.private" and I can't access to SAP.

JCo Exception:

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

Web service error:

<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>


When I edited the hosts file with ip of server to connect, can effectively connect with SAP, however the mistake was having on the WSDL that was not specifically, but rather that my Web Service has been exported to a WAR and use it on a different server could not connect because the library could not find the libsapjco3.jnilib of the JCo therefore gave me the error that my host could not connect.

Then in the section Properties->DeploymentAssembly of the project agrege added sapjco3.jar and externally to project in the lib section, the library libsapjco3.jnilib, which worked well.

0

精彩评论

暂无评论...
验证码 换一张
取 消