#java #soap #soapui
#java #soap #soapui
Вопрос:
Я использую службу soap, используя Java 1.8. Вот соответствующий код, который создает сообщение и вызывает службу:
String URLString = "https://endpoint url";
URL url = new URL(URLString);
SOAPConnectionFactory factory = SOAPConnectionFactory.newInstance();
SOAPConnection soapConn = factory.createConnection();
InputStream is = new ByteArrayInputStream(createString.getBytes());
SOAPMessage request= MessageFactory.newInstance().createMessage(null, is);
MimeHeaders headers = request.getMimeHeaders();
headers.addHeader("SOAPAction", "Create");
request.saveChanges();
SOAPMessage response = soapConn.call(request, url);
....
Сервер отвечает 500: ошибка сервера, поэтому я копирую строку, которую я использовал для создания объекта SOAPMessage, в SoapUI. SoapUI удалось успешно подключиться к серверу и выполнить действие create.
Содержит ли мой код какую-либо ошибку? Также как я могу получить подробную информацию о заголовках http, которые отправляются из SoapUI?
Спасибо,
Алекс
Ответ №1:
В SoapUI вы можете увидеть «необработанный запрос» для шага запроса в тесте.
Как только вы выполните вызов API из SoapUI и получите ответ, вы сможете увидеть вкладку «Raw». Это показывает, что именно SoapUI отправил веб-службе, включая заголовки.
Обратите внимание, я только что проверил это в SoapUI 5.6.0 (бесплатная версия).
Комментарии:
1. Спасибо за ответ. Я могу получить заголовки для продолжения устранения неполадок.
Ответ №2:
Оказывается, мне нужно добавить опцию кодирования, когда я получаю массив байтов из «createString».