2.4.3 問い合わせ応答形態のメッセージ
TP1/NET/XMAP3では,応答型(ans)アプリケーションに発生したメッセージを問い合わせメッセージとして入力キューに登録して,UAPの起動をします。起動されたUAPでは,receive関数を呼び出して問い合わせメッセージを受け取ります。また,UAPからreply関数によって指定されたメッセージを応答メッセージとして出力キューに登録します。TP1/NET/XMAP3は,この応答メッセージを取り出して表示印刷サービスに送信します。
その後,応答メッセージが送信済みであることを出力キューに連絡します。
問い合わせ応答形態を,次の図に示します。
以降,問い合わせ応答形態の詳細を説明します。
- 〈この項の構成〉
(1) 問い合わせ応答の開始と終了
問い合わせ応答は,表示印刷サービスから問い合わせメッセージを受信し,応答型のアプリケーションを起動することで開始します。そして,UAPから応答メッセージを受け付け,表示印刷サービスへの応答メッセージの送信が完了すると問い合わせ応答を終了します。また,障害などによるコネクションの解放および論理端末の閉塞となった場合にも問い合わせ応答を終了します。
問い合わせ応答の開始から問い合わせ応答の終了までを問い合わせ応答中と呼びます。
(2) 問い合わせ応答中のアプリケーション起動
問い合わせ応答中にアプリケーション起動要求をする場合,非応答型または応答型のアプリケーション名を指定できます。ただし,応答型のアプリケーションを起動できるのは一つのサービスで1回だけです。
応答型のアプリケーションを起動した場合,そのサービスでは応答メッセージを送信できません。起動先の応答型アプリケーションで応答メッセージを送信してください。
使用方法の詳細については,マニュアル「OpenTP1 プログラム作成の手引」を参照してください。
(3) 問い合わせ応答中の論理端末へのメッセージ受信
問い合わせ応答中の論理端末が表示印刷サービスからメッセージを受信した場合,TP1/NET/XMAP3はメッセージログ(KFCA13664-E)を出力し,メッセージを破棄します。
(4) 問い合わせ応答中の論理端末へのメッセージ送信
問い合わせ応答中の論理端末に対して一方送信メッセージを送信した場合,一方送信メッセージは出力キューに登録され,APIは正常にリターンします。登録された一方送信メッセージは,TP1/NET/XMAP3の取り出しを待ちます。応答メッセージの送信完了後に出力キューから読み出し,表示印刷サービスに送信します。