2

構成レジストリに保存したファイルを読み取るためにesbでプロキシサービスを作成しました。プロキシは次のとおりです。

    <?xml version="1.0" encoding="UTF-8"?>
    <proxy xmlns="http://ws.apache.org/ns/synapse"
           name="deleteme"
           transports="https http"
           startOnLoad="true"
           trace="disable">
       <description/>
       <target>
          <inSequence>
<property xmlns:p="http://tempuri.org/" name="SourceID" expression="//p:SourceID" scope="default" type="STRING"/>
             <property name="test"
                       expression="get-property('registry','conf:/test.xml')"
                       scope="default"
                       type="OM"/>
             <property name="test.AddressEP" expression="$ctx:test//AddressEP"/>
             <log level="custom">
                <property name="test.AddressEP" expression="$ctx:test//AddressEP"/>
             </log>
             <header name="To" expression="get-property('test.AddressEP')"/>
             <send/>
          </inSequence>
       </target>
       <publishWSDL uri="http://pc241059:8281/services/echo?wsdl"/>
    </proxy>

プロパティでハードコードされたデータAddressEP​​を提供する代わりに、次のようにします。

<property name="test.AddressEP" expression="$ctx:test//AddressEP"/>

プロパティの値を渡したい:

<property xmlns:p="http://tempuri.org/" name="SourceID" expression="//p:SourceID"/>

お気に入り

<property name="test.AddressEP" expression="$ctx:test//get-property('SourceID')"/>

しかし、私はこれを行うことができませんか?これについて私を助けてください. 回答をお待ちしております。前もって感謝します

4

2 に答える 2

0

パスナビゲーションを使用する場合、これは正しいとは思いません[1]、ノードの選択など、ツリーモデルで動作する関数を使用する必要があります..(確かではありませんが)

あなたの場合、単純に XPATH 文字列マージ関数を使用できます。

[1]<property name="test.AddressEP" expression="$ctx:test//get-property('SourceID')"/>

于 2013-06-26T12:29:25.043 に答える
0

これで問題を解決できると思います。レジストリ内の xml ファイルから読み取る方法を示します。

于 2013-06-30T06:57:58.217 に答える