今私はtcpプロトコルとプロキシサービスで作業しています。私はいくつか質問があります。私はtcpプロトコルを使ってプロキシサービスに何らかのメッセージを送ります。プロキシサービスのプロパティメディエータにこのメッセージを受け取る必要があります。しかし、私の方法は、プロパティメディエーターでその価値をキャッチしません。
はここwso2 esbプロキシサービスでtcpクライアント要求メッセージを受信する方法
<?xml version="1.0" encoding="UTF-8"?>
<proxy name="TCPProxyService" startOnLoad="true" transports="tcp" xmlns="http://ws.apache.org/ns/synapse">
<target>
<inSequence>
<property description="" expression="get-property('message')" name="MessageValue" scope="default" type="STRING"/>
<log description="" level="custom">
<property name="property_name" value="============================="/>
<property expression="get-property('MessageValue')" name="inputValue"/>
</log>
<sequence key="in-sequence"/>
<log/>
<respond/>
</inSequence>
<outSequence/>
<faultSequence/>
</target>
<parameter name="transport.tcp.responseClient">true</parameter>
<parameter name="transport.tcp.inputType">string</parameter>
<parameter name="transport.tcp.recordDelimiter">|</parameter>
<parameter name="transport.tcp.contentType">text/plain</parameter>
<parameter name="transport.tcp.port">6789</parameter>
<parameter name="transport.tcp.recordDelimiterType">character</parameter>
</proxy>
はここで送信TCP要求Iは、get-プロパティ式でプロパティメディエーターの下に追加しようとしました
import java.io.*;
import java.net.*;
class TCPClient {
public static void main(String argv[]) throws Exception {
String delimiter = "|";
int modifiedSentence;
Socket clientSocket = new Socket("localhost", 6789);
DataOutputStream outToServer = new
DataOutputStream(clientSocket.getOutputStream());
BufferedReader inFromServer = new BufferedReader(new
InputStreamReader(clientSocket.getInputStream()));
String message = "Pietoo,Klaas,also" + delimiter;
outToServer.writeBytes(message);
outToServer.flush();
while ((modifiedSentence = inFromServer.read()) > -1){
System.out.print((char)modifiedSentence);
}
clientSocket.close();
}
}
のための私のJavaクライアントである私のプロキシサービスです。これには何が間違っていますか?
プロパティの説明= "" 表現=は、 "get-プロパティ( 'メッセージ')を" 名前= "MessageValue" スコープ= "デフォルト" タイプ= "STRING" />
私はストリーム内のメッセージを封筒で包むべきだと思います。そうでなければ、別々のメッセージをどのように識別するのですか。 – simar