JMS メッセージには、2 つのタイプのヘッダーが含まれます。1 つは JMS システム・ヘッダー、もう 1 つは複数の JMS プロパティーです。 メディエーション・モジュールでは、いずれのタイプのヘッダーにも、サービス・メッセージ・オブジェクト (SMO) 内、または ContextService API を使用してアクセスできます。
SMO では、JMS システム・ヘッダーは JMSHeader エレメントによって表されます。このエレメントには、JMS ヘッダーに通常あるすべてのフィールドが含まれます。 これらのフィールドはメディエーション (または ContextService) で変更できますが、SMO に設定された一部の JMS システム・ヘッダー・フィールドは、システムまたは静的な値によってオーバーライドされるため、アウトバウンド JMS メッセージでは伝搬されません。
JMS プロパティーは、SMO ではプロパティー・リスト内のエントリーとして表されます。 プロパティーは、メディエーション内で、または ContextService API を使用して追加、更新、または削除できます。
プロパティーは、JMS バインディングに静的に設定することもできます。 静的に設定されたプロパティーは、動的に設定される (同じ名前の) 設定をオーバーライドします。
他のバインディング (例えば HTTP バインディング) から伝搬されるユーザー・プロパティーは、JMS バインディングでは JMS プロパティーとして出力されます。
JMS システム・ヘッダーおよびプロパティーの、インバウンド JMS メッセージからダウンストリームのコンポーネントへの伝搬、またはアップストリームのコンポーネントからアウトバウンド JMS メッセージへの伝搬は、バインディングのプロトコル・ヘッダー伝搬フラグで制御できます。
メッセージ内で受信した JMS ヘッダーは、コンテキスト・サービスを介してターゲット・コンポーネントに伝搬されます。 メッセージ内で受信した JMS プロパティーは、コンテキスト・サービスを介してターゲット・コンポーネントに伝搬されます。
コンテキスト・サービスに設定されたすべての JMS ヘッダー・フィールドは、JMS エクスポート・バインディングに設定された静的プロパティーによってオーバーライドされていない限り、アウトバウンド・メッセージ内で使用されます。 コンテキスト・サービスに設定されたすべてプロパティーは、JMS エクスポート・バインディングに設定された静的プロパティーによってオーバーライドされていない限り、アウトバウンド・メッセージ内で使用されます。
コンテキスト・サービスに設定されたすべての JMS ヘッダー・フィールドは、JMS インポート・バインディングに設定された静的プロパティーによってオーバーライドされていない限り、アウトバウンド・メッセージ内で使用されます。 コンテキスト・サービスに設定されたすべてプロパティーは、JMS インポート・バインディングに設定された静的プロパティーによってオーバーライドされていない限り、アウトバウンド・メッセージ内で使用されます。
メッセージ内で受信した JMS ヘッダーは、コンテキスト・サービスを介してターゲット・コンポーネントに伝搬されます。 メッセージ内で受信した JMS プロパティーは、コンテキスト・サービスを介してターゲット・コンポーネントに伝搬されます。