Spring-WS不会对请求对象进行编组。发送空请求

时间:2018-03-07 05:47:22

标签: java spring spring-boot soap spring-ws

我使用Spring WebserviceTemplate在Spring Boot项目中调用SOAP Web服务。我的客户端类扩展了WebServiceGatewaySupport。我无法发布实际代码,但这是一个示例。

Response response = (Response) getWebServiceTemplate().marshalSendAndReceive(request, new SoapActionCallback("http://tempuri.org/rpc/Gateway/"));

发送此请求时,我收到响应代码400.我启用了Spring的跟踪日志记录,发现发送了一个空请求。

  

TRACE o.s.ws.client.MessageTracing.sent.sendRequest - 已发送请求[]

当我尝试使用相同的组件创建一个更简单的Web服务客户端 - 使用Spring WebserviceTemplate的Spring Boot项目时,我可以看到它发送了一个有效的XML有效负载并且它可以工作。

我现在发现此错误仅作为较大的现有项目的一部分发生 - 请求对象被封送为空字符串。它只是发送一个空的有效载荷。在调用webservice之前,日志中没有错误。

请求和响应POJO由maven-jaxb2-plugin&生成。我已经验证包和架构是正确的。

我已经验证Marshaller(Jaxb2Marshaller)及其上下文路径设置正确,并且在单独调用时会对请求对象进行编组。

我该如何调试?请提出你的建议。

0 个答案:

没有答案