简体   繁体   English

SOAP12 缺少肥皂动作 - 弹簧

[英]SOAP12 missing soap action - spring

I am trying to make a simple SOAP request but I am getting this error:我正在尝试发出一个简单的 SOAP 请求,但出现此错误:

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

I am using soap12 .我正在使用soap12 Here is my code:这是我的代码:

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);

I tried setting Content-Type with WebServiceMessageCallback to text/xml but it didn't get overriden.我尝试将带有WebServiceMessageCallback Content-Type设置为 text/xml 但它没有被覆盖。

I found a solution by adding:我通过添加以下内容找到了解决方案:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM