2011-07-04 17 views
1

JCoコネクタを使用していくつかのRFCにアクセスするためのMac用EclipseのJava Webサービスがありますが、Javaコードがエラー "(102)JCO_ERROR_COMMUNICATION:SAPゲートウェイへの接続に失敗しました"というSAPにアクセスできない "しかし、私はあなたがアクセスしたいサーバーのip、ma​​c os xのファイルホストを追加することでそれを解決しました。問題は、このWebサービスにアクセスするとMac OS Xサーバーにアクセスしたときにエラー「hostname.private」が返され、SAPにアクセスできなくなることです。Java WebサービスからSAP JCoコネクタにアクセスする方法は?

の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サービスエラー:私はホストが接続するサーバのIPを使用してファイル編集したとき

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

+1

ホストファイル(/ etc/hosts)に192.168.90.5またはservermac.privateのエントリがありますか? –

+0

はい、SAPサーバーとMACサーバー名を結びつけ、Javaコードが完全に動作します。これはWebサービスも機能しますが、同じエラーが発生します。 '192.168.90.5 servermac.private ##ホストファイル ' – openyourstackoverflow

+0

ホストファイルエントリを削除するとどうなりますか? –

答えて

1

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

プロジェクトアグリーメントのProperties-> DeploymentAssemblyセクションでは、sapjco3.jarが追加され、libセクションのプロジェクトに外部的にはlibsapjco3.jnilibというライブラリがうまくいきました。