使用spring-ws和spring-boot检索肥皂主体的响应

时间:2019-01-09 15:39:45

标签: spring spring-boot soap spring-ws

我正在使用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);

当我检查时,我得到的是空值。

什么是正确的实现方式,以便我可以获得正确的tranx编号?

0 个答案:

没有答案