WSO2 ESB将结果数组存储在属性中

时间:2012-12-14 21:25:11

标签: xml xpath wso2 wso2esb esb

基本上我从数据服务调用获得了一系列结果,我需要将这个数组传递给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函数?

1 个答案:

答案 0 :(得分:1)

试试这个;

 <property name="propertyarray" expression="$body"/>