我想在溢出的messagetext后获取char!
<api xmlns="http://ws.apache.org/ns/synapse" name="iterate" context="/tokenize">
<resource methods="GET" uri-template="/{temp}">
<inSequence>
<property name="MessageText" value="a,b,c," scope="default"></property>
<log>
<property name="MessageText" expression="get-property('MessageText')"></property>
</log>
[how ergodic this MessageText?]
<iterate continueParent="true" expression="MessageText" sequential="true">
<target>
<sequence>
<log level="full" separator=",">
<property name="arrayChar" value="?"></property>
</log>
</sequence>
</target>
</iterate>
</inSequence>
</resource>
</api>
我想要结果!arrayChar=aarrayChar=barrayChar=c
迭代中介需要一个xml节点列表,因此,使用从属性"MessageText"(脚本中介的目的)中提取的值列表创建一个新的xml消息,然后使用迭代中介迭代该消息中的节点
<inSequence>
<property name="MessageText" value="a,b,c" scope="default"/>
<script language="js"><![CDATA[
var payloadXML = new XML(<root/>);
for each (var item in String(mc.getProperty("MessageText")).split(',')) {
payloadXML.appendChild(new XML(<item>{item}</item>));
}
mc.setPayloadXML(payloadXML);
]]></script>
<iterate xmlns:fn="http://www.w3.org/2005/xpath-functions" continueParent="true" expression="//item" sequential="true">
<target>
<sequence>
<log level="full" separator=",">
<property name="arrayChar" expression="$body/item"></property>
</log>
</sequence>
</target>
</iterate>
</inSequence>