2016-11-17 5 views
0

私はWSO2 ESBからJMSマップメッセージを読んでいます。私はメッセージを選択してすべてのヘッダーを読むことができますが、メッセージの本文では何も読むことはできません。カスタムメディエーターを作成しました。次の項目を試して、ヘッダー内のMSG_FORMATプロパティーを使用してJMSメッセージを送信すると、正常に動作します。しかし、Map Bodyにプロパティを配置すると、WSO2はそれを取得しません。下のコードはヘッダーを読み取るように動作しますが、地図の本文は表示されませんWSO2でJMSマップメッセージを読む

public boolean mediate(MessageContext context) { 
     String msgFormat = context.getProperty(MSG_FORMAT).toString(); 

どのような考えですか?

+0

正確uは「マップボディ」とはどういう意味ですか?ここにサンプルメッセージを投稿できますか? – maheeka

+0

自分で説明するのではなく、ドキュメントを参照してください。 https://docs.oracle.com/cd/E19798-01/821-1841/bnces/index.htmlヘッダー、プロパティー、および本文。 context.getProperty()メソッドを使用してヘッダーとプロパティ内の何にでもアクセスできますが、本文にアクセスする方法はわかりません。 – user2254180

答えて

1

あなたの説明によると、JMSキューから消費するときにカスタムメディエータでメッセージを読み取ろうとしているようです。 、あなたが仲介メソッドに次のコードを使用することができますメッセージを読むためには

public boolean mediate(MessageContext context) { 
     String msgFormat = context.getProperty(MSG_FORMAT).toString(); 
     SOAPEnvelope envelope = synCtx.getEnvelope() 
.... 

参照してください:https://synapse.apache.org/apidocs/org/apache/synapse/MessageContext.html

+0

ありがとうございました、SOAPエンベロープを使って本文を抽出しました。 – user2254180

関連する問題