SOAP12缺少肥皂作用-春季

时间:2020-09-25 10:23:19

标签: java spring soap

我正在尝试发出一个简单的SOAP请求,但出现此错误:

org.springframework.ws.soap.client.SoapFaultClientException: Unable to handle request without a valid action parameter. Please supply a valid soap action.

我正在使用soap12。这是我的代码:

MessageFactory msgFactory = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
SaajSoapMessageFactory saajSoapMessageFactory = new SaajSoapMessageFactory(msgFactory);
WebServiceTemplate webServiceTemplate = new WebServiceTemplate(saajSoapMessageFactory);

Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
marshaller.setPackagesToScan("packageName");
marshaller.afterPropertiesSet();

webServiceTemplate.setMarshaller(marshaller);
webServiceTemplate.afterPropertiesSet();

Object response = webServiceTemplate.marshalSendAndReceive("https://www.w3schools.com/xml/tempconvert.asmx", temperature);

我尝试将Content-TypeWebServiceMessageCallback设置为text / xml,但是没有被覆盖。

1 个答案:

答案 0 :(得分:0)

我通过添加以下内容找到了解决方案:

MessageFactory messageFactory = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
SaajSoapMessageFactory saajSoapMessageFactory = new SaajSoapMessageFactory(messageFactory);
saajSoapMessageFactory.setSoapVersion(SoapVersion.SOAP_12);
saajSoapMessageFactory.afterPropertiesSet();