В wso2 ESb как вызвать TCP-сервер / как установить tcp соединение - PullRequest
0 голосов
/ 31 мая 2018

В wso2 ESB я хочу вызвать TCP-сервер.В приведенном ниже примере кода я пытался позвонить, но я получил исключение на tcp-сервере, и он не подключается.

<api context="/ex" name="ex" xmlns="http://ws.apache.org/ns/synapse">
<resource methods="POST">
    <inSequence>
        <property name="ContentType" scope="axis2" type="STRING" value="text/plain"/>
        <log level="full"/>
        <property name="OUT_ONLY" scope="default" type="STRING" value="true"/>
        <property name="FORCE_SC_ACCEPTED" scope="axis2" type="STRING" value="value"/>
        <send>
            <endpoint>
                <address uri="tcp://ipaddress:9090"/>
            </endpoint>
        </send>
    </inSequence>
    <outSequence>
        <send/>
    </outSequence>
    <faultSequence/>
</resource>

Java-код для TCP-сервера, который печатает восстановленное сообщение.

public class ser {


    public static void main(String[] args) //throws Exception
    {   
        try
        {
            ServerSocket serverSocket = new ServerSocket(9090);
            System.out.println("wainting for clients...");
            boolean stop = false;
            //while(!stop)

            Socket socket = serverSocket.accept();
            PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
            out.println("Hello  client!");
            BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            String clientInput = input.readLine();
            System.out.println(clientInput);
            input.close();
            out.close();
            socket.close();
            serverSocket.close();

        } catch (Exception e)
        {
            System.out.println(e.toString());
        }
    }

}

Поскольку ESB api является запросом POST, я звоню в постамане (restclient) с текстом / обычным сообщением, содержащим сообщение привет .

Но когда я звоню из ESB через restclient,Я получаю эти исключения в серверном сокете

java.net.SocketException: программное обеспечение вызвало прерывание соединения: сбой recv

ТАК, как установить соединение tcp в wso2ESB.

...