我正在尝试使用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问题。我尝试了很多方法,因为我可以>我该怎么解决这个问题。谢谢
答案 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>
根据您的需要调整此样本。