4.7.3 RPC要求のチェック
RPC通信機能では,受信した電文の形式と内容をチェックします。チェック内容および不正を検知した場合の動作を次に示します。
-
電文形式のチェック
受信したRPC要求がOpenTP1から送信された電文かどうかをチェックします。
不正を検知した場合は,エラーメッセージ(KDJE58355-E)を出力して,コネクションを切断します。応答送信はしません。エラーの詳細については,「4.17 TP1インバウンドアダプタで発生するRPCエラー応答」を参照してください。
-
TP1インバウンドアダプタで使用できない機能を使用していないかのチェック
TP1インバウンドアダプタで使用できないOpenTP1の機能を使用していないかどうかをチェックします。TP1インバウンドアダプタで使用できる機能については,「4.17 TP1インバウンドアダプタで発生するRPCエラー応答」を参照してください。
不正を検知した場合は,エラーメッセージ(KDJE58356-E)を出力して,コネクションを切断します。また,呼び出し元のdc_rpc_call関数にRPCエラーを応答します。エラーの詳細については,「4.17 TP1インバウンドアダプタで発生するRPCエラー応答」を参照してください。
-
dc_rpc_call関数の引数チェック
呼び出し元のdc_rpc_call関数の引数が適切に指定されているかどうかをチェックします。
不正を検知した場合は,エラーメッセージを出力して,コネクションを切断します。また,呼び出し元のdc_rpc_call関数にRPCエラーを応答します。
引数チェックでチェックされる内容,不正検知時に出力されるエラーメッセージ,およびRPCエラー応答について次の表に示します。
表4‒9 dc_rpc_call関数の引数チェック 引数
チェック内容
不正検知時のエラーメッセージ
不正検知時のRPCエラー応答
group
引数に指定したサービスグループ名が,TP1インバウンドアダプタのサービスグループ名(Connector属性ファイルに指定したservice_groupプロパティ)と一致しているか。
KDJE58357-E
DCRPCER_SERVICE_NOT_UP(-314)
service
引数に指定したサービス名が,TP1インバウンドアダプタが呼び出すサービス名(Message-driven Bean(サービス)のActivationSpecのserviceプロパティ)の中に存在するか。
KDJE58362-E
DCRPCER_NO_SUCH_SERVICE(-311)
flags
引数に指定したRPC形態が,TP1インバウンドアダプタで利用できる次のどちらかの形態か。
-
DCNOFLAGS(同期応答型RPC)
-
DCNOFLAGS|DCRPC_TPNOTRAN(同期応答型,かつトランザクションを引き継がないRPC)
KDJE58356-E
DCRPCER_TIMED_OUT(-307)
エラーの詳細については,「4.17 TP1インバウンドアダプタで発生するRPCエラー応答」を参照してください。
-