Получить первое значение элемента из запроса SOAP, используя JAVA - SpringBoot - PullRequest
0 голосов
/ 02 марта 2020

Я создаю простой веб-сервис в Springboot, и мне нужно прочитать полезную нагрузку запроса и записать идентификатор сообщения, поступающего внутри полезной нагрузки. Полезная нагрузка запроса может быть огромной, поэтому вместо чтения всего содержимого SOAP мне просто нужно найти первый элемент для этого конкретного тега.

Ниже приведен пример полезной нагрузки запроса, с которой я работаю

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
 xmlns:web="http://www.test.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <web:ReceiveFeedBack>
         <web:requestName>testRequest</web:requestName>
         <web:messageIdentifier>absd1232</web:messageIdentifier>
         <web:requestId>HRK</web:requestId>
      </web:ReceiveFeedBack>
   </soapenv:Body>
</soapenv:Envelope>

Мне нужно получить значение элемента для messageIdentifier. Я попытался с ниже, и он работает нормально, если нет пространства имен. Но наличие пространства имен в полезной нагрузке запроса вызывает некоторые проблемы. Есть ли обходной путь? Также не стесняйтесь предлагать любые другие лучшие способы достижения этой цели.

 public static String getTagValue(String xml, String tagName){
        return xml.split("<"+tagName+">")[1].split("</"+tagName+">")[0];
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...