1

JCoコネクタを使用してMac用のEclipseでJava Webサービスを使用して多くのRFCにアクセスしましたが、私の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

Web サービス エラー:

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

4

1 に答える 1

1

接続するサーバーの ip を使用してホスト ファイルを編集すると、効率的に SAP に接続できますが、具体的にではなく、Web サービスが WAR にエクスポートされ、別のサーバーで使用される WSDL に間違いがありました。ライブラリが JCo の libsapjco3.jnilib を見つけられなかったため、サーバーに接続できなかったため、ホストが接続できないというエラーが表示されました。

次に、プロジェクト agrege のセクション Properties->DeploymentAssembly で sapjco3.jar を追加し、lib セクションのプロジェクトに外部的にライブラリ libsapjco3.jnilib を追加しました。これはうまく機能しました。

于 2011-07-08T16:19:38.117 に答える