Я использую 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);
Когда я проверяю, я получаю нулевое значение в ответ.
Какая должна быть правильная реализация, чтобы я мог получить правильный транкс номер?