5.5.4 リモートAPI機能を使うときの注意事項
-
常設コネクションの管理方法は,コネクションの確立・解放方法によって二つに分けられます。コネクションの確立および解放をTP1/LiNKが管理する形態をオートコネクトモード,ユーザがAPI(常設コネクションを設定するdc_rap_connect関数,常設コネクションを解放するdc_rap_disconnect関数)を使って管理する形態を非オートコネクトモードといいます。コネクションをどちらのモードで管理するかは,rapクライアントの[SPP詳細設定]ダイアログボックスまたは[SUP詳細設定]ダイアログボックスで設定できます。
-
リモートAPI機能を使った通信のときは,RPCトレースを取得しません。ただし,RAPサービスが代行したAPIについては,RPCトレースを取得します。
-
稼働統計情報のうち,レスポンス統計情報と通信遅延時間統計情報は,リモートAPI機能を使った通信に関する情報は取得しません。
-
リモートAPI機能を使用し,TP1/LiNKがrapクライアントとなる場合,RPCのユーザデータ圧縮機能は使用できません。
-
rapリスナーの開始時にKFCA00327-WメッセージまたはKFCA00850-Eメッセージが出力されてもプログラム上の問題はありません。これは,rapリスナーがrapサーバに対してサービス関数を実行するときに発行するRPCのエラーメッセージです。rapリスナーはRPCでエラーが発生した場合にリトライするため,問題はありません。
-
リモートAPI機能を使用して連鎖RPC(dc_rpc_call関数のflags引数にDCRPC_CHAINEDを指定)を実行した場合にRPCが正常に終了しないときは,dc_rpc_close関数を発行してUAPの処理を中止します。このとき,rapサーバは連鎖RPCのリソースを完全にクリアするために「KFCA26921-E 理由コード=401」を出力して,アボートコードVrext03で異常終了します。また,連鎖RPCが正常に行われたとしても,連鎖RPCの終了RPC(dc_rpc_call関数のflags引数にDCNOFLAGSを指定)を行わなかった場合も同様に,rapサーバはダウンします。
-
常駐SPPからリモートAPI機能を使用している場合,その常駐SPPの常駐コネクション問い合わせ間隔最大時間に0を指定しないでください。指定した場合,rapリスナーがあるノードのOpenTP1を終了させようとしても,rapリスナーが終了できないため,常駐SPPが終了するまで無限に待ちます。
-
rapサーバと同じノードにあるUAPに対して,リモートAPI機能を使用した要求をしないでください。要求した場合の動作は保証できません。
-
XAリソースサービスを使用している場合,rapリスナーおよびrapサーバが正常終了していないときに,起動中のrapリスナーおよびrapサーバの定義を「RAPサービス環境設定」を使用して変更しないでください。変更した場合,XARトランザクションのステータスがアクティブ状態のままとなり,トランザクションが決着しないで残ってしまうことがあります。OpenTP1では,正常終了時以外にrapリスナーおよびrapサーバの定義を変更した場合の動作は保証できません。
-
クライアントからの要求最大待ち時間の満了を検知した際のエラーメッセージ出力をしたくない場合は,TP1/LiNKインストールフォルダ\conf\GUIRAP\<RAPサービス名>ファイルに,次に示すオペランドを追加してください。定義を追加したあとで,「RAPサービス環境設定」の[上書き保存(V)]ボタンをクリックしてください。
-
オペランド:set rap_inquire_timeout_message = N
このオペランドで抑止されるメッセージは次のとおりです。
・KFCA26956-Eメッセージの理由コード=71
・KFCA26965-Eメッセージの理由コード=71
-
指定例:定義の最終行には,改行を入力してください。
# TP1/LiNK (rapリスナーサービス定義)
# コメント = TP1/LiNK RAP Service
set rap_listen_port = 10030
set rap_parallel_server = 10
set nice = 0
set rap_connection_assign_type = static
set rap_inquire_timeout_message = N
-
-
rapサーバプロセスがハングアップして,サービス要求を受け付けなくなることがあります。この現象は,rapkillコマンドと,rapkillコマンドを実行するSUPを利用することで回避できます。rapkillコマンドの詳細については,「7. 運用コマンド」の「rapkill(rapサーバの限界監視時間の指定と強制停止)」を参照してください。
-
RAPリスナープロセスでRAPサーバとの通信を行うためのポートに対して,RAPサーバ以外から不正な電文を受信した場合,KFCA26955-Wメッセージの理由コードに「35:不正な電文を受信しました。」が表示されます。
-
次に示すコマンドは,rapサーバに対して実行しないでください。実行した場合の動作は保証できません。
-
scdchprcコマンド
-
scdholdコマンド
-
scdrlesコマンド
-
scdrsprcコマンド
-