Как лучше всего отправить строку XML через сокеты Java?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как лучше всего отправить строку XML через сокеты Java?

Сообщение Anonymous »

Я попробовал это, но где-то не могу прочитать ответ от сервера. (Ответ в формате XML).

Я читал, что запись через сокеты требует буферизации из-за разрыва строки. Каким-то образом я обнаружил, что это правда, когда я использовал демаршаллер jaxb, и он сообщил об исключении SAX EOF, что означает, что прочитанный xml не был полным.

Пожалуйста, как правильно буферизовать запись и чтение?

StringBuilder sb = new StringBuilder();
sb.append("");
sb.append("").append(hd.getRequestType()).append("");
sb.append("");
sb.append("").append(rq.getAgentCode()).append("");
sb.append("").append(rq.getPin()).append("");
sb.append("").append(rq.getDestination()).append("");
sb.append("").append(rq.getAgentTransId()).append("");
sb.append("").append(rq.getVendorCode()).append("");
sb.append("").append(rq.getAmount()).append("");
sb.append("").append(rq.getProductCode()).append("");
sb.append("").append(rq.getComments()).append("");
sb.append("").append(rq.getClientType()).append("");
sb.append("");

Socket socket = new Socket("41.206.23.21",7101);
OutputStream os = socket.getOutputStream();
InputStream in = socket.getInputStream();

OutputStream buf = new BufferedOutputStream(os);
out = new OutputStreamWriter(buf);

System.out.printf("\nxml is %s",sb.toString());
System.out.print("\n--------writing--to--socket-----");
out.write(sb.toString());
out.flush();

//read response
InputStream bui = new BufferedInputStream(in);
rd = new InputStreamReader(bui);
System.out.print("\nxml response"+rd.toString());

in.close();
out.close();
socket.close();


Подробнее здесь: https://stackoverflow.com/questions/202 ... va-sockets
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»