Задать вопрос
@AlexFox2019
Junior Java Developer

Возможно ли распарсить soap response?

Всем привет. Уже не знаю что можно придумать. Может кто-то чем-то поможет.
Есть soap webservice с методом String test1(in param); (Внимание на возвращаемый ответ).
в wsdl описано так и тут проблема наверное и по факту исправить никак.
wsimport (Spring Boot application) генерирует :
@WebMethod(action = "urn:getTest1")
    @WebResult(name = "getTest1Response", targetNamespace = "http://test/", partName = "body")
    @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
    public String getTest1(
        @WebParam(name = "getTest1", targetNamespace = "http://test/", partName = "body")
        GetTest1InParams inParams);

Но по факту getTest1(...) возвращает XML (пример):
<getTest1Response>
    <tag1></tag1>
  //......
   <tagN></tagN>
</getTest1Response>

Хочу все содержимое в строку загнать(SOAPBody) чтобы метод вернул строку и потом уже unmarshall сделать.
Поигрался с SOAPHandler - ничего не выходит.
Сделал замену ответа (чтобы попробовать если содержимое как обычный текст) на:
<getTest1Response>
   простой текст
</getTest1Response>

но даже так не парсится ответ в String.
Можно ли как-то такое провернуть.
Вариант с допиленой wsdl проверил - все ок (если после тегов нет #text). - но так сделать не могу.
А еще. Когда до всех моих манипуляций/попыток приходил SOAP response ,
то String getTest1(...) в строку попадал символ конца строки - '\n'. - может через #text/

Спасибо за совет/ы и потраченное время.
  • Вопрос задан
  • 289 просмотров
Подписаться 2 Простой 3 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы