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 回答