ページの先頭行へ戻る
Interstage Service Integrator V9.7.0 アプリケーション開発ガイド
FUJITSU Software

6.1.1 HTTPパラメタ伝送

HTTPパラメタ伝送は、HTTPメッセージのパラメタ情報を伝送する機能です。

HTTPアダプタのサービスエンドポイント定義でHTTPパラメタ伝送を有効にすることで、以下が行われます。

HTTPパラメタ伝送を使用することで、インバウンドHTTPアダプタで受信したHTTPメッセージのパラメタ情報を、アウトバウンドHTTPアダプタが送信するHTTPメッセージに設定することができます。また、メディエータファンクションによりISIの共通メッセージのヘッダを操作することで、HTTPメッセージのパラメタを加工することができます。HTTPメッセージのパラメタの加工は、“6.1.2 HTTPメッセージを操作する”を参照してください。

以下は、インバウンドHTTPアダプタでHTTPメッセージを受信し、アウトバウンドHTTPアダプタでHTTPを送信する場合のHTTPパラメタ伝送の図です。

HTTPパラメタ伝送には以下の4種類があります。

HTTPメソッド伝送

インバウンドHTTPアダプタで受信したHTTPメッセージのHTTPメソッド名をアウトバウンドHTTPアダプタへ伝送することができます。

HTTPメソッド名はISIの共通メッセージのヘッダにマッピングされ、アウトバウンドHTTPアダプタではそのマッピングされたHTTPメソッド名を使用します。ISIの共通メッセージのヘッダキーは以下です。

com.fujitsu.esi.http.request.method

リソースパス伝送

インバウンドHTTPアダプタで受信したHTTPメッセージのURLのリソースパス(注1)をアウトバウンドHTTPアダプタに伝送することができます。

リソースパスはISIの共通メッセージのヘッダにマッピングされ、アウトバウンドHTTPアダプタではそのマッピングされたリソースパスを使用します。ISIの共通メッセージのヘッダキーは以下です。

com.fujitsu.esi.http.request.resourcepath

リソースパス伝送を使用する場合、アウトバウンドHTTPアダプタが定義の[接続先URL]情報にリソースパスを付加したURLでサービス提供側に接続します。

注1:

リソースパスについて、サービス利用側から以下のようなURLでISIを呼び出した場合を例に説明します。

http://MyHost/esihttp_DEFAULT/ESIHttpServer?endpointA/xxx/yyy/zzz

サービスエンドポイント名までのURL(http://MyHost/esihttp_DEFAULT/ESIHttpServer?endpointA)をベースURL、サービスエンドポイン名以降のURL(/xxx/yyy/zzz)をリソースパスと呼びます。サービス利用側からのISI呼び出し方法の詳細は、“2.1 HTTPを利用してISI呼び出しを行うアプリケーションの開発”を参照してください。

HTTPヘッダ伝送(注2)

2:

HTTPヘッダに同一のfield-nameが複数指定されている場合、1つのキーに集約され、値がカンマ区切りで連結されます。例えばHTTPヘッダが以下の場合の例を示します。

sample1: Value1
sample1: Value2

HTTPヘッダが上記場合、ISIの共通メッセージのヘッダは以下(ヘッダキー=値)にマッピングされます。

com.fujitsu.esi.http.request.header.sample1=Value1, Value2

HTTP規約上、HTTPヘッダのfield-nameは大文字と小文字を区別しません。また、HTTPリクエストのHTTPヘッダのfield-nameは、インバウンドHTTPアダプタを経由する時点で全て小文字に変換されます。

このため、シーケンス内でHTTPヘッダの値を取得・変更する場合、HTTPヘッダのfield-nameの大文字と小文字の違いを無視した処理にする必要があります。

Content-LengthはISIの共通メッセージのヘッダにマッピングしますが、伝送されず自動的に設定されます。

Transfer-Encodingは使用できません。設定されていた場合、ヘッダからTransfer-Encodingの設定を削除し、Content-Lengthを設定して送信します。

ステータスコード伝送

アウトバウンドHTTPアダプタで受信したHTTPメッセージのステータスコードを、インバウンドHTTPアダプタが応答するHTTPメッセージへ伝送することができます。

ステータスコードはISIの共通メッセージのヘッダにマッピングされ、インバウンドHTTPアダプタはそのマッピングされたステータスコードをHTTPレスポンスのステータスコードにマッピングします。ISIの共通メッセージのヘッダキーは以下です。HTTP規約外のステータスコードは伝送できません。

com.fujitsu.esi.http.response.status

応答フレーズはステータスコードに応じて自動的に付与されます。応答フレーズは例えば以下のような内容です。

OK
Bad Request
Internal Server Error