1

基本的に、データサービス呼び出しから一連の結果を取得しており、この配列をJavaに渡す必要があります。結果の配列を何らかの方法でプロパティメディエーターに格納し、これをJavaに渡そうとしています。

データサービスの結果の例を次に示します。

<testResponse>
   <result>
      <PARAM1>0</PARAM1>
      <PARAM2>20</PARAM2>
      <PARAM3>40</PARAM3>
   </result>
</testResponse>

そして、これが私が呼び出している私のJava関数の例です:

public static String testFunction(int[] array);

そして、これがこのJava関数のペイロードです。

<payloadFactory>
        <format>
            <p:testFunction xmlns:p="http://test.com">
                <xs:array xmlns:xs="http://test.com">$1</xs:array>
           </p:testFunction>
        </format>
        <args>
            <arg xmlns:ns="http://org.apache.synapse/xsd" expression="$ctx:PROPERTYARRAY"/>
        </args>
</payloadFactory>

「PROPERTYARRAY」の設定方法がわかりません。

今、私は次のようなことをしています。

<property xmlns:ns="http://org.apache.synapse/xsd" name="PROPERTYARRAY" expression="//testResponse/result/" scope="default" type="STRING"/>

そして、このログは「02040」です。

これを配列形式で取得してJava関数に送信するにはどうすればよいですか?

4

1 に答える 1

1

このようにしてみてください。

 <property name="propertyarray" expression="$body"/>
于 2012-12-17T11:34:40.723 に答える