6

SAP と統合する Java Web アプリケーションを開発しました。Linux Server と Tomcat 7.0 で開発しました。WEB-INF/lib フォルダーに sapjco3.jar と libsapjco3.so を追加しました。ローカルサーバーは正常に動作しています。しかし、WAR ファイルをリモート サーバーにデプロイすると、次のエラーが発生します。

java.lang.NoClassDefFoundError: com.sap.conn.rfc.driver.CpicDriver
    at com.sap.conn.rfc.engine.DefaultRfcRuntime.createChannel(DefaultRfcRuntime.java:52)
    at com.sap.conn.rfc.engine.RfcIoOpenCntl.open_channel(RfcIoOpenCntl.java:1260)
    at com.sap.conn.rfc.engine.RfcIoControl.ab_rfcopen(RfcIoControl.java:85)
    at com.sap.conn.rfc.api.RfcApi.RfcOpen(RfcApi.java:83)
    at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcClient.connect(MiddlewareJavaRfc.java:1107)
    at com.sap.conn.jco.rt.ClientConnection.connect(ClientConnection.java:659)
    at com.sap.conn.jco.rt.PoolingFactory.init(PoolingFactory.java:103)
    at com.sap.conn.jco.rt.ConnectionManager.createFactory(ConnectionManager.java:171)
    at com.sap.conn.jco.rt.DefaultConnectionManager.createFactory(DefaultConnectionManager.java:44)
    at com.sap.conn.jco.rt.ConnectionManager.getFactory(ConnectionManager.java:160)
    at com.sap.conn.jco.rt.RfcDestination.initialize(RfcDestination.java:754)
    at com.sap.conn.jco.rt.RfcDestination.ping(RfcDestination.java:964)
    at com.my.ciry.sap.Connection.<init>(Connection.java:63)

Tomcat サーバーから宛先に ping を実行すると、エラーが発生します。

private JCoDestination dest;    
    public Connection(SapSystem system)  {

    dest = JCoDestinationManager.getDestination(SAP_SERVER);

            dest.ping();
}

問題の原因は何ですか。

4

2 に答える 2

0

SAP サーバーは、一般的に以下に基づいて構成されます。

System IDMessage Serverおよび可能な aGroup Serverと一緒にInstance Number

接続をインスタンス化するときに、おそらくこれらのパラメーターを渡す必要があります。ローカルホストでは、これらは不要/無視できる可能性がありますが、本番環境では必須です。

SAP のツールを使用してサーバーに接続し、他の方法で提供するすべての設定を提供してみてください。

JCO に使用している設定を投稿していただければ、さらにお役に立てるかもしれません。

于 2013-08-16T18:27:36.970 に答える