Получение ответа от мыльного тела с помощью spring-ws и spring-boot - PullRequest
0 голосов
/ 09 января 2019

Я использую marshalSendAndReceive для отправки запроса и получения ответа. Это работает нормально для большинства услуг. Но один запрос имеет следующий формат запроса и ответа:

Запрос

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:abc="http://maximus.com/assetworks/abc-web-services">
   <soapenv:Header/>
   <soapenv:Body>
      <abc:getNextLinkTranxNum facade="CMS"/>
   </soapenv:Body>
</soapenv:Envelope>

Ответ

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>40493</S:Body>
</S:Envelope>

Теперь в моем коде я хочу получить значение 40493. и мой код выглядит так:

GetNextLinkTranxNum tranxNum = new GetNextLinkTranxNum();
        tranxNum.setFacade(FacadeType.CMS);
        WebServiceTemplate template = getWebServiceTemplate();
        ClientInterceptor[] clientInterceptorsArr = new ClientInterceptor[1];
        clientInterceptorsArr[0] = new CRSoapInterceptor(authorization);
JAXBElement response = (JAXBElement)template.marshalSendAndReceive(Constants.SOAP_URI, tranxNum);

Когда я проверяю, я получаю нулевое значение в ответ.

Какая должна быть правильная реализация, чтобы я мог получить правильный транкс номер?

...