MQHeader ノードのサンプルについて

このノードは、2 つの MQ ヘッダー (MQMD および MQDLH) の作成、変更、および削除を容易にします。 MQHeader ノードを使用して、MQMD (MQ メッセージ記述子) および MQDLH (MQ デッド・レター・ヘッダー) ヘッダーを追加、変更、または削除します。 MQHeader ノードは、メッセージ本文を変更しません。

ノードで使用される Java コードは、Eclipse Java プロジェクトに保管されます。

このサンプルは、MQMD ヘッダーを使用して着信メッセージを取り扱うことにより、 WebSphere MQ アプリケーションがメッセージを理解できるようにする方法を示しています。 このサンプルはまた、MQHeader ノードを使用して MQMD ヘッダーを着信メッセージに追加する方法、またはそこから除去する方法を示します。

このサンプルは、Web サービス・クライアントとサーバーとの間にブローカーを配置することにより、フローを示します。 MQMD ヘッダーを MQHeader ノードに追加することにより、HTTP メッセージが WebSphere MQ アプリケーションに渡されます。 JavaCompute ノードを使用して、HTTP 状態が保存されます。 処理されたメッセージは、フローを介して渡されます。 そのフローでは、メッセージを HTTPReply ノードに転送する前に、JavaCompute ノードを使用して、保存された HTTP 状態を復元し、 MQHeader ノードを使用して MQMD ヘッダーを除去します。

以下のメッセージ・フローがこのサンプルでインポートされます。

MQHeader ノード・メッセージ・フローの画面取り

フローは、以下の方法で機能します。

  1. HTTP メッセージが次の Web アドレスに送信されます: http://localhost:7080/isPrime
  2. フローは HTTP メッセージを HTTPInput ノード (GetHTTPMessage) で受信します。
  3. メッセージが JavaCompute ノード (SaveHTTPState) に渡されて、HTTP メッセージの要求 ID が保管されます。 要求 ID が HTTP メッセージの本体に保管されます。
  4. メッセージが MQHeader ノード (AddMQHeader) に渡されて、それにより MQMD ヘッダー・プロパティー (Format) がメッセージに追加されます。 メッセージは MQOutput ノード (StoreInMQ) を使用してキューに保管されます。
  5. WebSphere MQ アプリケーションは、MQInput ノード (ReadFromMQ) を使用してメッセージをキューから読み取ります。
  6. メッセージが JavaCompute ノード (PrimeCheck) に渡されます。このノードは入力メッセージを検査して受け取った数が素数かどうかを調べます。 結果として生じるメッセージは、MQOutput ノード (SaveResult) を使用してキューに保管されます。
  7. WebSphere MQ アプリケーションの結果は、MQInput ノード (ReadResult) によって読み取られます。
  8. メッセージが JavaCompute ノード (RestoreHTTPState) に渡されて、HTTP 要求 ID がメッセージから復元されます。
  9. JavaCompute ノードからの出力メッセージが MQHeader ノード (RemoveMQHeader) に渡されて、WebSphere MQ ヘッダーが除去されます。
  10. MQHeader ノードからの出力メッセージが HTTPReply ノード (HTTPReplyResult) に渡されます。

WebSphere MQ キュー

このサンプルによって以下の WebSphere MQ キューが作成されます。

サンプルのホームに戻る