Manage Transport Properties/Headers アサーション

Manage Transport Properties/Headers アサーションは、メッセージ内のカスタム HTTP ヘッダまたは JMS プロパティの追加、置換、削除を可能にします。
gateway94
Manage Transport Properties/Headers
アサーションは、メッセージ内のカスタム HTTP ヘッダまたは JMS プロパティの追加、置換、削除を可能にします。
ターゲット メッセージが存在する限り、このアサーションは常に成功します。
このアサーションのターゲット メッセージの選択については、「ターゲット メッセージの選択」を参照してください。
(1)このアサーションは慎重に使用してください。 Gateway は、メッセージ内のヘッダを検証しません。 ヘッダの競合または不正な形式のヘッダは予期しない結果を生む可能性があります。 (2)同じ名前の JMS プロパティを複数追加した場合、最後に追加されたもののみが Route via JMS アサーションおよび受信 JMS リクエスト リスナによって使用されます。
目次
Content-Type ヘッダの変更
Content-Type ヘッダを変更する必要がある場合は、Validate or Change Content Type アサーションを使用します。 Manage Transport Properties/Headers アサーションを使用してこれらのヘッダを変更することを試行することは、Content-Type の重複およびメッセージ Content-Type の正しくない解釈をもたらす結果になる可能性があります。
Manage Transport Properties/Headers アサーションを使用して Content-Type ヘッダを削除する場合、Gateway から送信される実際の Content-Type ヘッダには影響しません。 コンテキスト変数(
http.allheadervalues、http.header/headervalues.Content-Type
)は以下のように影響を受けます。
  • リクエスト メッセージでは、これらのコンテキスト変数は削除されます。
  • 応答メッセージでは、これらの変数は残ります。
サポートされている JMS ヘッダ
JMS 標準ヘッダは、常にメッセージに存在し、追加または削除はできません。 ただし、このアサーションを使用して、これらのヘッダの値を操作できます。
JMS 標準ヘッダは追加または削除はできないため、
[Add]および[Add or Replace]オプションは、常に[Replace]として動作します。
[Remove]オプションは、[Add]または[Add or Replace]オプションで追加された変更値を削除するだけです。
例:
このアサーションを使用して、JMSCorrelationID に「123456789」を追加します。 この値は $
{request.jms.header.JMSCorrelationID.modified}
変数に格納されます。
その後、このアサーションを使用して「JMSCorrelationID」ヘッダを削除すると、
${request.jms.header.JMSCorrelationID.modified}
変数は空になります。 ただし、
${request.jms.header.JMSCorrelationID}
変数には、リクエストからの元の値が保持されます。
JMS に関連するコンテキスト変数の詳細については、「JMS 宛先の管理」を参照してください。
JMS ヘッダ
Type
説明
JMSCorrelationID
String
メッセージの相関 ID。 これは、このメッセージで生成される応答用のメッセージの JMSMessageID であることがあります。 また、アプリケーション固有の識別子であることがあります。
JMSDeliveryMode
Integer
配信モード: 1 = 非永続、または、2 = 永続。 JMS サーバが使用不可になった場合でも、永続メッセージは失われません。
JMSExpiration
Long
メッセージの有効期限の日時。 この時刻は UTC 標準時で格納されます。
JMSPriority
Integer
JMS API では、0 (最低)~ 9 (最高)の 10 段階の優先度が定義されています。 優先度 0 ~ 4 は通常の優先度の段階とみなし、優先度 5 ~ 9 は高優先度の段階とみなす必要があります。
JMSReplyTo
String
このメッセージの応答を送信する必要がある宛先の名前。
JMSType
String
メッセージの送信時にクライアントによって提供されたメッセージ タイプ識別子。
Route via JMS アサーションで指定されたリクエスト メッセージに設定されている JMS ヘッダが、送信 JMS に適用されます。 逆に、レスポンス メッセージに設定されている JMS ヘッダが、受信 JMS に適用されます。
アサーションの使用
  1. 以下のいずれかを実行します。
    • アサーションをポリシー作成ウィンドウに追加するには、「アサーションの追加」を参照してください。
    • 既存のアサーションの設定を変更するには、下記の手順 2 に進みます。
  2. アサーションを追加すると、[Manage Transport Properties/Headers Properties]ダイアログ ボックスが自動的に表示されます。アサーションを変更する場合は、ポリシー ウィンドウで
    [<
    target
    >: [Add|Remove] [HTTP Header|JMS Property]...]
    を右クリックして
    [Transport Properties/Headers Properties]
    を選択するか、ポリシー ウィンドウでアサーションをダブルクリックします。 このアサーションのプロパティが表示されます。
  3. 以下のようにダイアログ ボックスを設定します。
    Gateway は、
    Web ソケット接続
    にヘッダを追加する場合、[Add]オプションのみをサポートします。 [
    Add or Replace
    ]および[
    Remove
    ]オプションは、[Add]オプションで追加されたヘッダに対してのみ使用できます。 これらは、既存の Web ソケット ヘッダに対しては使用できません。
    目的
    方法
    新しい HTTP ヘッダまたは JMS プロパティの追加
    (既存の同じ名前のアイテムを複製する可能性があります)
    1. 追加するメタデータのタイプを選択します。JMS ヘッダに対しては[Add]オプションの動作が異なることに注意してください。 詳細については、上記の「サポートされている JMS ヘッダ」を参照してください。
    2. Add
      または
      Add or Replace
      操作を選択します。
      • 「Add」は、既存の同じ名前のアイテムを複製する可能性があります。
      • 「Add or Replace」は、同じ名前の既存のヘッダまたはプロパティが存在する場合、新しいもので置換します。
    3. 追加するヘッダまたはプロパティの名前を入力します。コンテキスト変数を参照できます。
    4. 必要に応じて、ヘッダまたはプロパティの値を入力します。 コンテキスト変数を参照する場合があります。
      ヒント:
      特殊文字を使用するには、二重引用符でそれらを囲みます。
    指定された情報を持つ新しいヘッダまたはプロパティが、ターゲット メッセージに追加されます。
    1 つ以上の HTTP ヘッダまたは JMS プロパティの削除
    1. 削除するメタデータのタイプを選択します。 JMS ヘッダに対しては[Remove]オプションの動作が異なることに注意してください。 詳細については、上記の「サポートされている JMS ヘッダ」を参照してください。
    2. Remove
      操作を選択します。
    3. Header/Property Name
      ]にヘッダまたはプロパティの名前を指定して、以下のいずれかの方法を使用して削除します(Regular Expression が指定された場合以外は、大文字と小文字が区別されません)。
      • 削除するヘッダまたはプロパティの正確な名前を入力します。
      • 削除するヘッダまたはプロパティの名前に解決するコンテキスト変数を指定します。
      • 削除するヘッダまたはプロパティに一致する正規表現を指定して、[
        Regular Expression
        ]チェック ボックスをオンにします。
        (1)一致する値を使用してすべてのヘッダ名を削除するには、すべてのヘッダ名に一致する正規表現を使用します(例:「.*」)。(2)[Regular Expression]チェック ボックスがオンの場合は、コンテキスト変数を使用できません。 この機能が必要な場合は、Run Assertions for Each Item アサーションを使用します。
    4. 必要に応じて、以下のいずれかの方法を使用して、対応する
      ヘッダ値
      を指定します(Regular Expression が指定された場合以外は、大文字と小文字が区別されません)。
      • 一致する正確な値を入力します。
      • 一致する値に解決するコンテキスト変数を指定します。
      • 削除する 1 つまたは複数の値に一致する正規表現を指定して、[
        Regular Expression
        ]チェック ボックスをオンにします。
        注:
        Policy Manager は、正規表現パターンを検証しません。
      値を指定しない場合、値にかかわらず、一致するすべての HTTP ヘッダ名または JMS プロパティが削除されます。 空に解決するコンテキスト変数を指定した場合、空の値を持つ一致するアイテムのみが削除されます。
    Manage Transport Properties/Headers アサーションは、指定された名前または値に一致するヘッダが存在しない場合でも失敗しません。 ただし、ヘッダ/プロパティ名のコンテキスト変数が存在しない場合、またはそれが空に解決する場合、そのアサーションは失敗します。
  4. 完了したら、[
    OK
    ]をクリックします。