InboundXML
InboundXMLハンドラーにより、XML要求の受信とXML応答の送信が可能になります。
複数のRECEIVEコマンドとSENDコマンドを発行すると、大容量XMLドキュメントのさまざまなセクションの読み込みと作成が可能です。
このコンテンツ・ハンドラーのRECEIVEコマンドが実行されると、以下のステップが行われます。
内容がない場合、OKステータスが返されます。
ハンドラーは、内容タイプがXMLグループに属しているかをチェックします。内容タイプがサポートされていない場合、エラーがプログラムに返されます。このチェックをオーバーライドして、ハンドラーがデータを受信できるようにするにはCONTENTキーワードを使用します。データはXMLであることが前提です。
ハンドラーは、受信バイト・ストリームのUnicode変換に適用されるエンコーディングを決定します。
ハンドラーは、このUnicodeデータを保管する必要があるかどうかを判断します。
ハンドラーはXMLを変換し、データをプログラム・フィールドやリストにバインドします。
構文:
コマンド |
キーワード |
値 |
コマンド/キーワード/値に関する開発担当者メモ |
RECEIVE |
HANDLER |
|
InboundXML |
XSL |
|
必須。「XSL」を参照してください。 |
|
ENCODING |
|
任意。「ENCODING」を参照してください。 |
|
CONTENT |
|
任意。「CONTENT」を参照してください。 |
|
ARCHIVE |
|
任意。「ARCHIVE」を参照してください。 |
|
SCHEMA |
|
任意。「SCHEMA」を参照してください。 |
例
RECEIVE HANDLER(InboundXML) XSL(ORDER) SERVICE_LIST(…)
このコンテンツ・ハンドラーのSENDコマンドが実行されると、以下のステップが行われます。
XSLキーワードを使用するハンドラーは、プログラム・フィールドとリストを結果のXMLに変換します。FRAGMENTキーワードがある場合、この変換は保管されます。これが、送信される最後のXMLの唯一のフラグメントであるためです。FRAGMENTキーワードがない場合、この変換が最後として扱われ、最後の出力XMLが構築されて送信準備が整います。
ハンドラーは、このUnicodeデータを保管する必要があるかどうかを判断します。
ハンドラーはCONTENTキーワードの値を使用して、HTTPプロトコルの内容タイプの値を決定します。
· 内容の値を使用できない場合、ハンドラーはapplication/xmlを省略値にします。
· 内容の値が*XMLの場合、内容タイプはapplication/xmlになります。
· 内容の値が*TEXTXMLの場合、内容タイプはtext/xmlになります。
ハンドラーは、リモート・クライアントに返すHTTP応答を作成します。
オプションのUAFILEキーワードとUAPATHキーワードは、内容の推奨パスとファイル名をリモート・クライアント・プログラムに通知する場合に使用できます。LANSA Integratorユーザー・エージェントは、これらのファイル名とパス名を、応答パネルの保存ポップアップ・メニューに追加します。
サービス・プロパティinbound.xml.default.contenttypeを使用して、省略値の内容タイプを設定できます。
構文:
コマンド |
キーワード |
値 |
コマンド/キーワード/値に関する開発担当者メモ |
SEND |
HANDLER |
|
InboundXML |
XSL |
|
必須。「XSL」を参照してください。 |
|
FRAGMENT |
|
任意。「FRAGMENT」を参照してください。 |
|
OUTPUT |
|
任意。「OUTPUT」を参照してください。 |
|
UAPATH |
値 |
任意。ユーザー・エージェント保存応答パス |
|
UAFILE |
値 |
任意。ユーザー・エージェント保存応答ファイル名 |
|
UACACHE |
値 |
任意。キャッシュ制御最大期間 |
|
UADISPOSITION |
値 |
任意。内容処理のファイル名 |
|
ARCHIVE |
|
任意。「ARCHIVE」を参照してください。 |
|
ENCODING |
|
任意。「ENCODING」を参照してください。 |
|
CONTENT |
|
任意。「CONTENT」を参照してください。 |
|
CHARSET |
*YES |
任意。charset属性を含めます。 |
|
*NO |
charset属性を含めません。 |
||
*TEXT |
省略値。内容がテキストの場合、charset属性を含めます。 |
例
SEND HANDLER(InboundXML) XSL(…) UAFILE(…) UAPATH(…) SERVICE_LIST(…)