在wso2 esb工具

时间:2017-06-26 08:49:13

标签: xml tcp wso2 wso2esb

我正在尝试使用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,萨马;球磨,23,桑加;阿糖胞苷,78,希瓦"

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

1 个答案:

答案 0 :(得分:1)

看一下这个样本:

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

它将返回此有效负载:

<body ng-controller="HomeController as vm"
ng-cloak>
    <input type="text" placeholder="To do..."
    ng-model="vm.myTask">
    <button type="button" ng-click="vm.submitTask()">Submit</button>
    <br>

    <label ng-repeat="task in vm.myTasks"> <!-- lowercase task -->
        <ul>
            <li>
            <input type="checkbox" value="{{task.name}}" ng-model="task.checked">{{task.name}}</li> <!-- task is now an object, not only a string, so we access the properties name and checked -->
        </ul>
    </label>
  </body>

根据您的需要调整此样本。