2012-04-10 20 views
2

私は、次のSIフローを使用しています:春の統合: "ノー出力チャンネルまたはreplyChannelヘッダが利用できる"

<integration:gateway id="notificationGateway" 
      default-request-channel="start" 
      default-reply-channel="end" 
      service-interface="com.supplier.NotificationGateway"/> 
<integration:channel id="start"/> 
<integration:service-activator id="securedFileTransfer" 
        input-channel="start" 
        ref="Submitter" 
        method="submit" 
        output-channel="end"/> 
<integration:publish-subscribe-channel id="end"/> 

は、次のエラー行き方:

no output-channel or replyChannel header available?borg.springframework.integration.support.channel.ChannelResolutionException: no output-channel or replyChannel header available 

を任意のアイデア?

+1

でメッセージを作成するために、前のチャンネルメッセージからのメッセージヘッダを作成するために使用するコードです。誰かがreplyChannelヘッダーを除外した場合に通常発生します。たとえメッセージにreplyChannelヘッダーがない場合、明示的に返信を 'end'にしても、ゲートウェイは応答を要求と相関させることができません。 DEBUGロギングを実行すると、そのメッセージのフローが返信チャネルのヘッ​​ダーとともに表示されます。 –

+0

ありがとうゲーリー。 Artemの助けを借りて原因を特定することができました。あるチャンネルから別のチャンネルにMessageオブジェクトを渡しているときに、ヘッダーをコピーせずにペイロードからメッセージを作成し、_MessageHeaders.REPLY_CHANNEL_の値をリセットしました。 –

答えて

3

ありがとうこのポストは私を助けました。 ベローは、私はあなたがそれはあなたの正確な設定だ場合ことを確認してはならない、新たにペイロードmyPayload

createSlotGateway.send(MessageBuilder.withPayload(myPayload).copyHeaders(messagePrev.getHeaders()).build()); 
関連する問題