簡體   English   中英

在wso2 esb工具中將文本值轉換為xml

[英]Convert text value to the xml in wso2 esb tool

我正在嘗試使用wso2 esb工具和tcp請求。 我通過tcp協議從客戶端向代理服務發送文本請求。 我根據趕上物業中介的文本值這個 這是我的客戶

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();
}

}

現在我需要轉換這個

“ 34薩摩族的努灣; 23桑加庫瑪; 78阿拉的西瓦”

值為json或xml。 我嘗試使用Data Mapper介體Smooks介體 但是我無法將該文本請求設置為以上兩個調解員中的任何一個。 當我去嘗試使用foreach調解器時,我遇到了這個問題。 我嘗試了很多方法>如何解決此問題。 謝謝

看一下這個樣本:

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

根據您的需要調整此樣本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM