1

次のプロキシがあります。

<proxy name="expedientes" transports="https http" startOnLoad="true" trace="enable" statistics="enable">
    <target inSequence="main" outSequence="main" faultSequence="main">
        <endpoint>
            <address uri="https://someweb/somepath/"/>
            <property name="Authorization" expression="fn:concat('Basic ', base64Encode('user:password'))" scope="transport"/>
        </endpoint>
    </target>
</proxy>

このデフォルトのメイン シーケンスを使用すると、次のようになります。

<sequence name="main">
    <in>
        <log level="full"/>
        <filter source="get-property('To')" regex="http://localhost:9000.*">
            <send/>
        </filter>
    </in>
    <out>
        <send/>
    </out>
</sequence>

フィルターを削除してそのままにしておくと:

<sequence name="main">
    <in>
        <log level="full"/>
        <send/>
    </in>
    <out>
        <send/>
    </out>
</sequence>

「メッセージ送信中に予期しないエラーが発生しました: org.apache.axis2.AxisFault: システムは、/services/expedientes/indice.xml からトランスポート情報を推測できません」:

TID: [] [WSO2 ESB] [2013-02-15 12:42:05,531] ERROR
{org.apache.synapse.core.axis2.Axis2Sender} - Unexpected error during sending message out 
{org.apache.synapse.core.axis2.Axis2Sender}org.apache.axis2.AxisFault: The system cannot infer the transport information from the /services/expedientes/indice.xml URL. at
...

out メッセージは、(明らかに) 同じトランスポートを使用して要求 (HTTP GET) に応答する必要があります。しかし、これは「フィルター」と何の関係があるのでしょうか?

4

1 に答える 1

0

基本的に、上記の構成のセグメント (フィルター メディエーターを含むもの) では、メッセージの天気の "TO" ヘッダー プロパティが等しいかどうかをチェックします "http://localhost:9000.*"。その条件が発生した場合は、メッセージを宛先に送信するだけです。それ以外の場合、メッセージは「アウト」メディエーター内で送信されます。

何が起こったのかという表現を外すと、To プロパティの有無を知らずに、mediator 内に入っているすべてのメッセージを送信しようとします。あなたの場合、受信メッセージに有効な「To」プロパティが含まれていません。

メッセージを送信するメイン シーケンス内のデフォルトのメディエータは、「out」メディエータです。「in」メディエーターは、メッセージが応答として送信されることが期待されていることを知りません。そうでない場合、それが共鳴メッセージであると明示的に言いませんでした。

<header action="remove" name="To"/>
    <property action="set" name="RESPONSE" scope="default" type="STRING" value="true"/> 

ただし、ユースケースに大きく依存します

WSO2 ESB を使用したメッセージ メディエーションに関する参考文献を参照することをお勧めします。

以下は、私が見つけた良い参考文献です。あなたがもっと見つけてくれることを願っています

ありがとう、

于 2013-02-20T05:18:04.867 に答える