メッセージ・ペイロードのバイト配列へのトランスコーディング
メッセージ・ペイロードをバイト配列にトランスコードできます。
例えば、メッセージを単純なバイト・ストリームとして記録するメディエーション・ハンドラーを作成する場合があります。getDataGraphAsBytes メソッドを使用しすると、メッセージ・ペイロードをバイト配列として取得することができます。
以下の表で、SIMessage データ・グラフをバイト配列にトランスコードする際のルールを説明します。
データグラフのフォーマット | 事前の条件 | 出力 | 文字セットのエンコード |
---|---|---|---|
JMS: | なし | NULL を戻します。 | 該当なし。 |
JMS:text | なし | グラフの data/value エレメントに適用された場合、java.lang.String:getBytes(String charSetName) の結果を戻します。ここで charSetName = "UTF-8" です。 | UTF-8 |
JMS:bytes | なし | メッセージのデータ・グラフの data/value エレメントの値のコピーを戻します。 | 該当なし。 |
JMS:stream | なし | ストリーム・メッセージの XML スキーマに従って、ストリーム・メッセージの XML シリアライゼーションを含んだバイト・バッファーを戻します。 | UTF-8 |
JMS:object | なし | メッセージのデータ・グラフの data/value エレメントの値のコピーを戻します。 | 該当なし。 |
SOAP: | (迅速とはいえない構文解析によって使用可能になる既存のバイト配列を使用する代わりに) この操作によってバイト配列を生成する必要がある場合、 データ・グラフは WSDL モデルに関して有効である必要があります。 | データ・グラフの SOAP シリアライゼーションを含んだバイト・バッファーを戻します。 SOAP メッセージに添付ファイルが含まれている場合、バッファーは、複数パーツ MIME フォーマットになります。 | UTF-8、またはグラフ状態と論理的に同等のグラフのソース・メッセージのフォーマット。 |
Bean: | データ・グラフは、WSDL モデルに関して有効でなければなりません。 SOAP バインディングがない場合、シリアライゼーションは、RPC/literal エンコード方式を使用して実行されます。 | データ・グラフの SOAP シリアライゼーションを含んだバイト・バッファーを戻します。 Bean に添付ファイルが含まれている場合、バッファーは複数パーツ MIME フォーマットになります。 | UTF-8 |