このトピックでは、HTTP メッセージ・フローを使用して Web サービスと対話する場合に役立つ情報を提供します。 このトピックは、続く Web サービスのシナリオ セクションと共に読むと便利です。
例えば、(ブローカーによる既存の Web サービスの呼び出し に示されているように) 既存の WebSphere MQ アプリケーションと 対話するメッセージ・フローのペアを設計する場合、この値を要求フローに保管し、応答フローで復元することにより、その応答を適切なクライアントが受け取ることを保証できます。そうする場合、データを変更してはならず、データを BLOB として保存する必要があります。
HTTPReply ノードは、LocalEnvironment からこの値を抽出し、 特定のクライアントに送られるように、返信をセットアップします。
HTTPInput ノードと HTTPReply ノードの両方が含まれているメッセージ・フローを設計する場合、 値は HTTPInput ノードによって LocalEnvironment 内に設定されますが、 HTTPReply ノードはそれを使用しません。 したがって、メッセージ・フローが同じフローに両方のノードおよび Compute ノードを含んでいる場合、 メッセージ・ツリーのどのコンポーネントが Compute ノード (「Compute モード」プロパティー)によって 入力メッセージから出力メッセージにコピーされるかを指定するとき、LocalEnvironment ツリーを含む必要はありません。
Compute ノードにある要求メッセージ (他のすべての設定値をオーバーライドする)の HTTPRequestHeader セクションにある特定のヘッダー X-Original-HTTP-URL で要求 URL も設定することができますが、 このためには LocalEnvironment の内容を使用することをお勧めします。
CALL CopyMessageHeaders(); SET OutputRoot.HTTPReplyHeader."Content-Type" = 'text/xml'; SET OutputRoot.XMLNS = InputRoot.XMLNS;
Content-Type の場合は、MIME ドメインで作業していない限り ContentType プロパティーを使用してこのヘッダーを設定してはいけません。ContentType プロパティーは、MIME 内で使用される Content-Type の値を設定することを特に意図しています。
HTTPReplyHeader セクションが、HTTPReply ノードによって受け取られるメッセージ内に存在し、 HTTPReply ノードの Output ターミナルが接続されている場合、 HTTPReplyHeader セクションは任意の変更された値または追加された値で更新されます。
CALL CopyMessageHeaders(); SET OutputRoot.HTTPRequestHeader."Content-Type" = 'text/xml'; SET OutputRoot.XMLNS = InputRoot.XMLNS;Content-Type の場合は、MIME ドメインで作業していない限り ContentType プロパティーを使用してこのヘッダーを設定してはいけません。ContentType プロパティーは、MIME 内で使用される Content-Type の値を設定することを特に意図しています。
受け取ったメッセージに HTTPRequestHeader が存在する場合、 HTTPRequestHeader は任意の変更された値または追加された値で更新されます。