2016-09-01 61 views
1

JCO SAPサーバーに問題があります。システムがネットワーク外にある場合のSAP JCOサーバー接続の問題

問題:実行中のJCO SAPサーバーがあります。システムがネットワークから抜け出し、JCO SAPサーバーを起動してエラーをスローしたとします。システムが30-45分以内にネットワークに戻った場合、開始されたJCO SAPサーバーはその機能を再開します。しかし、システムが長い時間がたってから1〜2時間後にネットワークに接続された場合、JCO SAPサーバーはその機能を再開しません。

リトライ回数とリトライ間隔を増やす方法はありますか?または、無限の再試行を構成する方法。

アプローチ:サーバーインスタンスでstopメソッドを呼び出し、同じサーバーインスタンスでstartメソッドを呼び出してJCO SAPサーバーを再起動しようとしましたが、JCOを再起動するまでJCO SAPサーバーがSAPサーバーから送信されたIDOCを受け取りません。

期待:システムが長時間経過してネットワークに接続された場合、JCO SAPサーバーの再起動後(stop()> release()> start()メソッドの呼び出し)は正常に動作するはずです。

SAP ApiにJVMとのバインディングがあるか、JVMレベルで何かをキャッシュしていますか?

私たちに必要なことをお知らせください。そのため、開始されたJCO SAPサーバーは、ネットワークから長時間経過しても機能を再開します。

詳細情報が必要な場合にお知らせください。 sapjco3.jarの(3.0.14)

SAP JCOサーバーエラーは、ネットワーク

2016-09-01 11:34:08,014 ERROR [JCoServerThread-2] SAPServer  com.adeptia.indigo.services.sap.server.ErrorListener.serverExceptionOccurred(ErrorListener.java:46) - ||||administrators|||||admin|Error occured on ADEPTIATEST connection 4-/H/155.56.59.11/H/cpcF501|sapgw05|ADEPTIATEST[CPIC-CALL: SAP_CMACCPTP3 on convId:   

ERROR  connection to partner '155.56.59.11:3299' broken 
TIME  Thu Sep 01 11:34:07 2016 
RELEASE  720 
COMPONENT NI (network interface) 
VERSION  40 
RC   -6 
MODULE  nixxi.cpp 
LINE  5087 
DETAIL  NiIRead: P=155.56.59.11:3299; L=192.168.1.73:51413 
SYSTEM CALL recv 
ERRNO  10054 
ERRNO TEXT WSAECONNRESET: Connection reset by peer 
COUNTER  1 
]|192.168.1.73||null 
com.sap.conn.jco.JCoException: (102) JCO_ERROR_COMMUNICATION: CPIC-CALL: SAP_CMACCPTP3 on convId:   

ERROR  connection to partner '155.56.59.11:3299' broken 
TIME  Thu Sep 01 11:34:07 2016 
RELEASE  720 
COMPONENT NI (network interface) 
VERSION  40 
RC   -6 
MODULE  nixxi.cpp 
LINE  5087 
DETAIL  NiIRead: P=155.56.59.11:3299; L=192.168.1.73:51413 
SYSTEM CALL recv 
ERRNO  10054 
ERRNO TEXT WSAECONNRESET: Connection reset by peer 
COUNTER  1 

    at com.sap.conn.jco.rt.MiddlewareJavaRfc.generateJCoException(MiddlewareJavaRfc.java:681) 
    at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.listen(MiddlewareJavaRfc.java:2269) 
    at com.sap.conn.jco.rt.DefaultServerWorker.dispatch(DefaultServerWorker.java:284) 
    at com.sap.conn.jco.rt.DefaultServerWorker.loop(DefaultServerWorker.java:369) 
    at com.sap.conn.jco.rt.DefaultServerWorker.run(DefaultServerWorker.java:245) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: RfcException: [null] 
    message: CPIC-CALL: SAP_CMACCPTP3 on convId:   

ERROR  connection to partner '155.56.59.11:3299' broken 
TIME  Thu Sep 01 11:34:07 2016 
RELEASE  720 
COMPONENT NI (network interface) 
VERSION  40 
RC   -6 
MODULE  nixxi.cpp 
LINE  5087 
DETAIL  NiIRead: P=155.56.59.11:3299; L=192.168.1.73:51413 
SYSTEM CALL recv 
ERRNO  10054 
ERRNO TEXT WSAECONNRESET: Connection reset by peer 
COUNTER  1 

    Return code: RFC_FAILURE(1) 
    error group: 102 
    key: RFC_ERROR_COMMUNICATION 

    at com.sap.conn.rfc.engine.RfcIoOpenCntl.RfcListen(RfcIoOpenCntl.java:2315) 
    at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.listen(MiddlewareJavaRfc.java:2229) 
    ... 4 more 
Caused by: 
>RfcIoException: 
    message: CPIC-CALL: SAP_CMACCPTP3 on convId:   

ERROR  connection to partner '155.56.59.11:3299' broken 
TIME  Thu Sep 01 11:34:07 2016 
RELEASE  720 
COMPONENT NI (network interface) 
VERSION  40 
RC   -6 
MODULE  nixxi.cpp 
LINE  5087 
DETAIL  NiIRead: P=155.56.59.11:3299; L=192.168.1.73:51413 
SYSTEM CALL recv 
ERRNO  10054 
ERRNO TEXT WSAECONNRESET: Connection reset by peer 
COUNTER  1 

    Return code: RFCIO_ERROR_SYSERROR(5)< 


    at com.sap.conn.rfc.engine.RfcIoOpenCntl.ab_rfclisten(RfcIoOpenCntl.java:1392) 
    at com.sap.conn.rfc.engine.RfcIoOpenCntl.RfcListen(RfcIoOpenCntl.java:2311) 
    ... 5 more 
+0

あなたはJCoでRFCサーバを実装しており、Idocにサービスを提供していますか? JCoサービスがSAPサーバーに再接続すると、_after_ reconnectingで作成されたidocを受信するか、JCoサービスが接続されていない間に作成されたidocを受信したいと思いますか? IDocが欠落している場合は、トランザクションSM58でトランザクションRFCがまだキューに入っているかどうかを確認します。それらを手動で再試行するか、またはレポートがあるかどうかを確認することができます。あなたがJCoからの再試行をトリガできるかどうかは分かりません。 –

+0

はい、JCoでRFCサーバを使用しています。再接続後に作成されたidocを受け取ることが期待されます(ネットワークの停止が1時間を超えた場合にJVMを再起動する必要はありません)。 JCOサーバーオブジェクトでstop()> release()> start()を呼び出しても機能しません。 –

答えて

0

の外に出たときにJCOを停止しているときは、以下の手順を実行したときにそれが正常に動作する必要があります:JCO SAPのバージョンを実行して

サーバーインスタンス:

  1. ServerDataEventListenerインスタンスからサーバーへの参照を削除します。登録済みServerDataProviderオブジェクトからServerDataEventListenerインスタンスの参照を取得できます。
  2. 宛先への参照をDestinationDataEventListenerインスタンスから削除します。登録済みのDestinationDataProviderオブジェクトから、DestinationDataEventListenerインスタンスの参照を取得できます。
関連する問題