現在、次のような BufferedReader を使用してポートでリッスンしています。
ServerSocket ss = new ServerSocket(2346);
Socket s = ss.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));
while(true){
inputLine = in.readLine();
if(inputLine==null)
break;
}
今、私はすべてのヘッダーと次のようなものをすべて取得しています:
POST /record HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset=UTF-8
SOAPAction: ""
Content-Length: 1969
Host: localhost:2346
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
<S:Envelope xmlns:S="http://www.w3.org/2003/05/soap-envelope">...
問題は、POST 要求の内容 (上記の最後の行) だけが必要なため、それを実行できる Java パーサーがあることです。また、ソケットへのリクエストでは、適切に読み取れるように余分な空の行を指定する必要があります。これに対する解決策はありますか?
ありがとう