【问题标题】:Convert text value to the xml in wso2 esb tool在 wso2 esb 工具中将文本值转换为 xml
【发布时间】:2017-06-26 08:49:12
【问题描述】:

我正在尝试使用 wso2 esb 工具和 tcp 请求。我通过 tcp 协议从客户端向代理服务发送文本请求。根据this,我从属性调解器中捕获了该文本值。这是我的客户

class TCPClient {
public static void main(String argv[]) throws Exception {
    String delimiter = "|";
    int modifiedSentence;
    Socket clientSocket = new Socket("localhost", 6790);
    DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
    BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
    //String message2 = "WZ2OCS2:1:21:1:1:@1479122000#"+ delimiter;
    String message2 = "Nuwan,34,Sama;Kuma,23,Sanga;Ara,78,siva"+ delimiter;
    outToServer.writeBytes(message2);
    outToServer.flush();
    while ((modifiedSentence = inFromServer.read()) > -1){
        System.out.print((char)modifiedSentence);
    }
    clientSocket.close();
}

}

现在我需要转换这个

"Nuwan,34,Sama;Kuma,23,Sanga;Ara,78,siva"

json 或 xml 的值。我尝试使用 Data Mapper mediatorSmooks mediator 。但我无法将该文本请求设置为上述任何两个调解员。当我去尝试使用 foreach 调解器时,我遇到了 this 问题。我尝试了很多方法>我该如何解决这个问题。谢谢

【问题讨论】:

    标签: xml tcp wso2 wso2esb


    【解决方案1】:

    看看这个样本:

    <property name="TEXT" value="Nuwan,34,Sama;Kuma,23,Sanga;Ara,78,siva"/>
    <script language="js"><![CDATA[
        var resultXML = new XML(<sample></sample>)
        var values=mc.getProperty("TEXT").split(',');
        for each(var value in values) {
            resultXML.appendChild(<value>{value}</value>);
        }               
        mc.setPayloadXML(resultXML);
    ]]></script>
    

    它将返回此有效负载:

    <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
       <S:Header/>
       <S:Body>
          <sample>
             <value>Nuwan</value>
             <value>34</value>
             <value>Sama;Kuma</value>
             <value>23</value>
             <value>Sanga;Ara</value>
             <value>78</value>
             <value>siva</value>
          </sample>
       </S:Body>
    </S:Envelope>
    

    根据您的需要调整此示例。

    【讨论】:

    • 谢谢让-米歇尔。我搜索了这两天。你救了我。
    猜你喜欢
    • 2015-01-21
    • 1970-01-01
    • 1970-01-01
    • 2016-11-30
    • 2013-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多