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
あなたはJCoでRFCサーバを実装しており、Idocにサービスを提供していますか? JCoサービスがSAPサーバーに再接続すると、_after_ reconnectingで作成されたidocを受信するか、JCoサービスが接続されていない間に作成されたidocを受信したいと思いますか? IDocが欠落している場合は、トランザクションSM58でトランザクションRFCがまだキューに入っているかどうかを確認します。それらを手動で再試行するか、またはレポートがあるかどうかを確認することができます。あなたがJCoからの再試行をトリガできるかどうかは分かりません。 –
はい、JCoでRFCサーバを使用しています。再接続後に作成されたidocを受け取ることが期待されます(ネットワークの停止が1時間を超えた場合にJVMを再起動する必要はありません)。 JCOサーバーオブジェクトでstop()> release()> start()を呼び出しても機能しません。 –