このコードを使用して SOAP xml を送信するときに、TCP トランスポート経由でプロキシ サービスにリクエストを送信したい
Socket clientSocket = new Socket("host", port);
DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
outToServer.writeBytes("soap xml instance");
clientSocket.close();
それは正常に動作し、私のビジネスは継続しています。
しかし、次のようにソケットを閉じずに2つのxmlを送信すると:
Socket clientSocket = new Socket("host", port);
DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
outToServer.writeBytes("soap xml instance");
outToServer.writeBytes("another soap instance");
clientSocket.close();
常に次の例外をスローします。
TID: [0] [ESB] [2013-06-28 13:36:10,838] エラー {org.apache.axis2.transport.tcp.TCPWorker} - Axis2 エンジン {org.apache.axis2 を介した TCP 要求の処理中にエラーが発生しました.transport.tcp.TCPWorker} org.apache.axiom.om.OMException: com.ctc.wstx.exc.WstxParsingException: 不正な処理命令ターゲット ("xml"); xml (大文字と小文字を区別しない) は、仕様によって予約されています。[row,col {unknown-source}]: [2,5] org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:296) at org.apache.axiom.om.impl org.apache.axiom.om.impl.llom.OMNodeImpl.getNextOMSibling(OMNodeImpl.java:122) の .llom.OMDocumentImpl.buildNext(OMDocumentImpl.java:135) org.apache.axiom.om.impl.llom.OMElementImpl のorg.apache.axiom.om.impl.traverse の .getNextOMSibling(OMElementImpl.java:343)。java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) で ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) java.lang.Thread.run(Thread.java:662) で 原因: com .ctc.wstx.exc.WstxParsingException: 不正な処理命令ターゲット ("xml"); xml (大文字と小文字を区別しない) は、仕様によって予約されています。[row,col {unknown-source}]: [2,5] com.ctc.wstx.sr.StreamScanner.constructWfcException(StreamScanner.java:606) com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner) .java:479) com.ctc.wstx.sr.BasicStreamReader.readPIPrimary(BasicStreamReader.java:3903) com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java:2037) com.ctc.wstx. sr.BasicStreamReader.closeContentTree(BasicStreamReader.java:
メッセージに「\n」、「\r\n」を追加しましたが、どれも機能しませんでした。
また、このリンクで説明されている方法を使用してみました。TCPトランスポートを使用してSOAPメッセージを送信する方法とそれはうまくいきました。
しかし、私のプロジェクトではその種の API を使用できませんでした。どうすればこの問題を解決できますか。