ヘッダ伝送定義の詳細について説明します。
用語の定義: ここでは、RFC2616に従いHTTPヘッダのfield-nameとfield-valueという単語を使います。
field-nameは“Content-Type”になります。 field-valueは“text/xml”になります。 |
ヘッダ伝送定義とは、ISIのSOAPアダプタにてカスタムHTTPヘッダの送受信を行うための定義です。
ヘッダ伝送の定義を行うことで、SOAP通信のサービスエンドポイント単位で、カスタムHTTPヘッダの送受信が可能になります。インバウンド、アウトバウンドどちらのサービスエンドポイントでも利用できます。
具体的には、ヘッダ伝送定義を作成することで以下の処理が可能になります。
SOAPメッセージ受信時に、受信したHTTPヘッダの値(field-value)を、共通メッセージのヘッダパラメタ値に格納
SOAPメッセージ送信時に、共通メッセージのヘッダパラメタ値を、HTTPヘッダの値に指定して送信
ヘッダ伝送定義ファイル
ヘッダ伝送の定義は、以下のファイルを編集します。
本定義ファイルは、インストール時に作成されません。必要に応じてユーザが作成してください。
<INSDIR>\etc\def\soap\headercoop.properties
/opt/FJSVesi/etc/def/soap/headercoop.properties
ヘッダ伝送定義フォーマット
ヘッダ伝送定義ファイルに記述する、ヘッダ伝送定義のフォーマットについて説明します。ヘッダ伝送の定義は、以下のフォーマットに従った内容を、ヘッダ伝送定義ファイルに一行ずつ記述することで定義されます。
ヘッダ伝送定義の定義フォーマットは以下のとおりです。
送信ヘッダの定義フォーマット
“サービスエンドポイント名”.send.“field-name”=“共通メッセージのヘッダキー値”
項目名 | 説明 | 指定例 |
---|---|---|
サービスエンドポイント名 | HTTPヘッダ伝送を行うSOAPアダプタのサービスエンドポイント名を指定します。 | service1 |
field-name | 送信したいHTTPヘッダ名(field-name)を指定します。 | X-SAMPLE |
共通メッセージのヘッダキー値 | field-valueとして送信したい値が格納された、共通メッセージのヘッダキー値を指定します。 | user.send.header1 |
指定例) |
この例では、“service1”というサービスエンドポイント定義について、SOAPメッセージ送信時に、“X-SAMPLE”というfield-nameのHTTPヘッダが送信されます。
このHTTPヘッダのfield-valueには、共通メッセージのヘッダキー値“user.send.header1”に対応する値が指定されます。
受信ヘッダの定義フォーマット
“サービスエンドポイント名”.receive.“field-name”=“共通メッセージのヘッダキー値”
項目名 | 説明 | 指定例 |
---|---|---|
サービスエンドポイント名 | HTTPヘッダ伝送を行うSOAPアダプタのサービスエンドポイント名を指定します。 | service1 |
field-name | 受信したいHTTPヘッダ名(field-name)を指定します。 | X-SAMPLE |
共通メッセージのヘッダキー値 | 受信したfield-valueを格納する、共通メッセージのヘッダキー値を指定します。 | user.receive.header1 |
指定例) |
この例では、“service1”というサービスエンドポイント定義について、SOAPメッセージ受信時に、“X-SAMPLE”というfield-nameのHTTPヘッダのfield-valueが、共通メッセージのヘッダキー値“user.receive.header1”に格納されます。