0

次のようなフロー パターンがある場合に気付きました。

<flow name="httpIn">
    <http:inbound-endpoint exchange-pattern="request-response" address="http://localhost:9001/test/in" />
    <logger level="INFO" />
    <http:outbound-endpoint exchange-pattern="request-response" address="http://localhost:9001/test/out" />
    <logger level="INFO" />
</flow>

outbound-endpointwith request-responseexchange パターンが呼び出された後、元の HTTP 要求からの受信プロパティが失われることに注意してください。

これは正常な動作ですか?すべての送信エンドポイントに対してこれを全体的に無効にする方法はありますか、それともこのエンドポイント固有ですか?

4

3 に答える 3

2

はい、それが通常の動作です。ここで非常によく説明されています:

http://blogs.mulesoft.org/mule-school-the-mulemessage-property-scopes-and-variables/

Mule インバウンド プロパティ

受信プロパティを設定することはできません。メッセージ ソース (インバウンド エンドポイントなど) は、メッセージを受信するときにそれらを設定します。「トランスポート バリア」を越えるとインバウンド プロパティが失われる Mule アウトバウンド プロパティ

送信プロパティはユーザーが設定できます。「輸送障壁」を越えると、アウトバウンド プロパティは自動的にインバウンド プロパティに変換され、アウトバウンド プロパティとして存在しなくなります。- 詳細はこちら: http://blogs.mulesoft.org/mule-school-the-mulemessage-property-scopes-and-variables/#sthash.yGzTrZEQ.dpuf

于 2013-06-24T12:38:07.950 に答える
1

はい、Mule のインバウンド プロパティはトランスポート中に伝播しません。このリンクで説明されているように

  • 受信プロパティは、メッセージ ソースによって自動的に生成され、ユーザーが設定または操作することはできません。
  • 送信プロパティは、ユーザーが構成できます。送信プロパティはフローの過程で設定され、あるフローの送信エンドポイントからトランスポート経由で別のフローの受信エンドポイントにメッセージが渡されるときに、受信プロパティになることがあります。(メッセージがトランスポートではなくフロー参照を介して新しいフローに渡される場合、アウトバウンド プロパティはインバウンド プロパティに変換されるのではなく、アウトバウンド プロパティのままであることに注意してください。)

ただし、次のようにプロパティをコピーすることで、トランスポート間ですべての受信プロパティを保持できることに注意してください。

<copy-properties propertyName="*" />

これにより、すべてのプロパティがコピーされます。いくつかのプロパティが必要な場合は、特定のプロパティ名を指定することもできます。

于 2013-06-24T13:30:51.513 に答える
0

Mule 受信プロパティ : これらのプロパティは、メッセージ ソースまたは受信エンドポイントによって自動的に設定されます。ユーザーが設定することはできません。それらは不変です。それらを変更することはできません。それらにアクセスすることはできますが、変更することはできません。彼らは「輸送障壁」を越えた後に失われます

Mule 送信プロパティ: これらのプロパティは、ユーザーが設定できます。http のようなトランスポートバリアを越えた後、アウトバウンド プロパティは自動的にインバウンド プロパティに変換され、アウトバウンド スコープでは検出されなくなります。

于 2016-12-11T16:20:32.533 に答える