JMSOutput ノードは JMS メッセージを受け取ると、 JMSTransport パーサーを起動して、メッセージの JMSTransport 部分を含む XML ビット・ストリームを戻します。 ノードは Message_MetaData を抽出して、 出力のためにどの JMS メッセージ・タイプを作成するかを識別するペイロード・タイプ情報を取得します。 Message_MetaData フォルダーが存在しない場合、出力ノードはデフォルトで BytesMessage を作成します。
JMSOutput ノードは JMS ヘッダー・データを XML ストリングから抽出して、 メッセージ内の JMS ヘッダー・フィールドの値を取り込むためにこのデータを使用します。
JMSOutput ノードは、XML ストリングからプロパティー値を抽出します。 XML エレメントは、プロパティー値ごとに作成する Java オブジェクト・タイプを識別するタイプ情報を含みます。
メッセージ・ペイロードは、JMS メッセージからビット・ストリームとして取得されます。 TextMessage および BytesMessage ペイロードでは、ビット・ストリームを直接 JMS API に渡して適切なペイロードを作成できます。
MapMessage および StreamMessage ペイロードでは、個別のエレメントを XML ビット・ストリームから抽出する必要があります。 出力ノードは適切な JMS API メソッドを呼び出して、メッセージ内にマップまたはストリーム・フィールドを作成します。
ObjectMessage ペイロードでは、JMSOutput ノードはオブジェクト・クラスを使用して、
ビット・ストリーム・ペイロードを再シリアライズします。
オブジェクト・クラスは、ブローカーの Java クラスパスで使用可能である必要があります。クラスパスは mqsiprofile バッチ・ファイルで定義されます。このファイルは、ブローカーの実行可能ディレクトリー中にあります。例えば、Windows では、install_dir/bin ディレクトリー中の mqsiprofile.cmd になります。
メッセージは、 JMSOutput ノードの属性として指定された JMS 宛先にパブリッシュされます。 ただし、JMS メッセージ内に JMSReplyTo ヘッダー・フィールドが設定されている場合、 JMSOutput ノードはメッセージを直前の要求に対する応答として扱い、そのメッセージを直前の要求の JMS 宛先にパブリッシュします。