У меня есть клиент soap, который вызывает метод SOAP WS. Проблема заключается в том, что когда я получаю данные в JAVA, используя нижеприведенный код, java анализирует SOAPMessage, используя некоторую стандартную кодировку. В результате, когда я печатаю ответ WS, я вижу некоторые символы мусора.Проблема с кодированием ответа SOAP
SOAPConnectionFactory connectionFactory = SOAPConnectionFactory.newInstance();
SOAPConnection connection = connectionFactory.createConnection();
SOAPMessage response = connection.call(soapMessage, endpoint);
Итак, есть ли какой-либо способ, с помощью которого можно задавать или заставить .call() метод выше, чтобы использовать определенную кодировку.
Я проверил WS, используя вкладку SOAP UI и RAW XML в SOAP UI, показывает действительные символы.
Edit: Am печать и проверка наличие мусорных символов с помощью кода ниже:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
response.writeTo(baos);
String s2 = new String(baos.toByteArray(), "ISO-8859-1"); // decoding
System.out.println(s2);
это возможно, что вы обращаетесь ответ неправильно, или что терминал не может отображать символы? как вы печатаете ответ? – jtahlborn
@jtahlborn См. Мое редактирование. – Mohit
Я предполагаю, что вы нарушаете ответ, когда пытаетесь его отобразить. знаете ли вы, что ответ кодируется с использованием «iso-8859-1»? – jtahlborn