Java Spring引导服务器未识别HTTP头SOAPAction的值

Java Spring引导服务器未识别HTTP头SOAPAction的值,java,spring,spring-boot,Java,Spring,Spring Boot,我正试图消费这个,但我得到了SoapExeption 下面是我发送请求的方法。如何在Spring boot中修复此问题 public class CalcClient extends WebServiceGatewaySupport { private static final Logger LOGGER = LoggerFactory.getLogger(CalcClient.class); private ObjectFactory objectFactory;

我正试图消费这个,但我得到了SoapExeption

下面是我发送请求的方法。如何在Spring boot中修复此问题

public class CalcClient extends WebServiceGatewaySupport {

    private static final Logger LOGGER = LoggerFactory.getLogger(CalcClient.class);
    private ObjectFactory objectFactory;

    @Autowired
    public void setObjectFactory(ObjectFactory objectFactory) {
        this.objectFactory = objectFactory;
    }

    public JAXBElement<AddResponse> sendAndReceive() {
        Add request = objectFactory.createAdd();
        request.setIntA(12);
        request.setIntB(12);
        LOGGER.info("Sending request");
        JAXBElement<AddResponse> response = (JAXBElement<AddResponse>) getWebServiceTemplate().marshalSendAndReceive("http://www.dneonline.com/calculator.asmx", request);
        return response;
    }
}

我在访问此服务时遇到了相同的问题,您将在尝试将AddResponse绑定到JAXBElement时出错。您需要在代码中设置soapAction,如下所示,使用WebServiceMessageCallback


我在访问此服务时遇到了相同的问题,您将在尝试将AddResponse绑定到JAXBElement时出错。您需要在代码中设置soapAction,如下所示,使用WebServiceMessageCallback

public AddResponse sendAndReceive() {
    Add request = objectFactory.createAdd();
    request.setIntA(12);
    request.setIntB(12);
    LOGGER.info("Sending request");
    AddResponse response = (AddResponse) getWebServiceTemplate().marshalSendAndReceive("http://www.dneonline.com/calculator.asmx", request, new WebServiceMessageCallback() {
        @Override
        public void doWithMessage(WebServiceMessage webServiceMessage) throws IOException, TransformerException {
            ((SoapMessage)webServiceMessage).setSoapAction("http://tempuri.org/Add");
        }
    });
    return response;
}