WSO2 ESB How we can split Property's value and log after split chars?

旧城冷巷雨未停 提交于 2019-12-13 01:24:37

问题


I want get char after spilt messagetext !

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

I want result! arrayChar = a arrayChar = b arrayChar = c


回答1:


iterate mediator need a list of xml nodes so, create a new XML message with the list of values extracted from your property 'MessageText' (the purpose of script mediator) and then, iterate the nodes from this message with iterate mediator

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


来源:https://stackoverflow.com/questions/36275320/wso2-esb-how-we-can-split-propertys-value-and-log-after-split-chars

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!