HTTP_INBOUND
このアクティビティで、インバウンドHTTPリクエストを処理します。HTTPリクエストの内容を受け取って、特定のディレクトリに保管します。
保管された内容の名前と場所がパラメータ値として出力されます。
HTTPメッセージに関連するその他の識別基準もパラメータ値として出力されます。
このアクティビティは次のような方法で呼び出されます。
1. 入ってきたリクエストを処理するために、LANSA IntegratorのJSMDIRECT CGIプログラムが呼び出されます。
2. JSMDIRECTは入ってきたリクエストのURIで指定されたアプリケーション名を利用し、リクエストを処理するプログラムまたはLANSAファンクションを決定します。LANSA ComposerのHTTPインバウンドサポートの場合、通常は提供されたDXHTFN1ファンクションとなります。
3. DXHTFN1ファンクションは 入ってきたリクエストのURIで指定されたアプリケーション名を利用して、リクエストをを処理するLANSA Composerの処理シーケンスを決定します。
4. 処理シーケンス内にこのアクティビティが含まれており、HTTPコンテントを受け取ったり、保存したりします。
LANSA Composerでは、入ってきたリクエストのURIで指定されたアプリケーション名は、HTTPインバウンド構成によってファンクション(通常はDXHTFN1)と処理シーケンスに関連付けられています。HTTPインバウンド構成を適切に作成し変更することで、JSMDIRECTで使用されるテーブルの必須エントリーのメンテナンスもできます。
通常このアクティビティは反復アクティビティです。また反復が1度だけということは普通はありません。これは反復アクティビティとして定義され、この下にネストされた処理シーケンスが受け取ったコンテントを処理し、必要であれば応答ペイロードを準備します。変換マップや他のアクティビティ、またこの処理に必要なあらゆる命令をネストすることができます。このアクティビティの応答ペイロードを指定するINPUTパラメータ(RESPONSEFILEPATHとRESPONSECONTENTTYPE)は、反復が完了するまでは判断されません。ですからネストされた処理シーケンス命令はそれぞれの値を設定できます。
INPUTパラメータ:
RESPONSEFILEPATH: 任意
このパラメータで、インバウンドHTTP要求の応答として送信する(RESPONSECONTENTTYPEパラメータで指定したタイプの)内容を含むファイルのパスとファイル名を指定できます。指定した場合は、応答としてファイルの内容が送信されます。指定しない場合は、200 (OK)の応答状態とHTTP構成(ある場合)で指定したOKHTTP応答メッセージが送信されます。
このパラメータの判断は反復が完了するまで行われないことに注意してください。つまりネストされた処理シーケンス命令では、受け取った要求の性質や内容に基づいて値を設定することができます。
RESPONSECONTENTTYPE: 任意
RESPONSEFILEPATHパラメータを指定した場合は、応答内容として対応するコンテント・タイプ(*TEXTPLAINなど)も指定する必要があります。RESPONSEFILEPATHパラメータを指定しない場合は、このパラメータは使用されません。
このパラメータの判断は反復が完了するまで行われないことに注意してください。つまりネストされた処理シーケンス命令では、受け取った要求の性質や内容に基づいて値を設定することができます。
OUTPUTパラメータ:
HTTP_CONTENT :
この値には、インバウンドHTTPの内容を保管するファイルのパスとファイル名が格納されます。
例:IBM iサーバーの場合 /inorders/HI25.dat
Windowsサーバーの場合 C:\order\HI123.dat
ディレクトリは[HTTP インバウンド・ペイロード・ディレクトリ]システム設定から取得されます。
ファイル名は、接頭辞、一意の番号および.dat拡張子から生成されます。接頭辞は[HTTP インバウンド・ファイル名接頭辞]システム設定から取得されます。
HTTP_CONTENT_TYPE :
この値には、内容に適用可能なすべてのコンテント・タイプが格納されます。
例えば、コンマ区切りファイルの場合は*TEXT *SV *CSVとなります。
すべてのタイプのリストについては、「HTTP構成」を参照してください。
HTTP_CONTENT_TYPE2 :
この値にはコンテント・タイプの代替となるものの説明が格納されます。コンテント・タイプのHTTPヘッダーの実際の値が含まれます。例えば text/plainなどです。
HTTP_CONTENT_LENGTH
この値は、HTTPインバウンド要求で受け取ったコンテントの長さが格納されます。
HTTP_QUERY_STRING
この値には、URIのクエリー文字列が格納されます。
完全なURLがhttp://lansa01:8080/cgi-bin/jsmdirect?ZZordersの場合は、
クエリー文字列にZZordersという値が格納されます。
HTTP_REMOTE_ADDRESS :
この値には、リモート・サーバーのIPアドレスが格納されます。
HTTP_REMOTE_USER :
この値にはリモート・ユーザー(使用可能な場合)が格納されます。
HTTP_SERVER_PORT :
この値には、このインバウンドHTTPメッセージを処理したローカル・ポート番号が格納されます。
DXHTFN1ファンクション - 用意されたJSMDirectファンクション
DXPROC02プロセスのDXHTFNファンクションは、HTTP JSMDirectを呼び出すために用意されています。
このファンクションはURIからクエリー文字列を取得します。クエリー文字列をトリムして、その他のパラメータを削除します。その結果、得られる文字列を使用して、対応するアプリケーション名を含むComposer
HTTPインバウンド構成を見つけます。
これにより、このComposer
HTTP構成に対する処理シーケンスが起動します。インバウンドHTTP転送からペイロードと情報を取得するためには、この処理シーケンスにHTTP_INBOUNDアクティビティが含まれている必要があります。