Spring WS生成通知而不是请求-响应

问题描述 投票:0回答:1

我一直在尝试使用Spring WebService在Spring中创建现有JAX-WS Web服务的端口(在https://spring.io/guides/gs/producing-web-service/处宽松地遵循其指南)。

[我有一个端点正在工作,既使用现有应用程序(通过JAX-WS)使用的XSD,又通过SoapUI生成新的集合。

出于某种原因,Web服务似乎以“通知”类型发布,而不是像先前存在的JAX-WS端点上的原始现有方法那样使用“请求-响应”。 Spring WS还具有一个“输出”,其中声明了带有响应后缀的类,而JAX-WS则没有。这在SoapUI中在视觉上是不同的,其中Spring wsdl在每个方法旁边都有一个红色的“左箭头”,而不是逆流箭头。

[我认为这是我在调用已设置的一个端点时看到的一个问题-记录了一条错误,指出'没有为[SaajSoapMessage ......找到端点映射。myEndpointMethod Response” (例如来自端点方法的响应对象,而不是端点方法本身)。

如上所述,我觉得方法上的“类型”是吸烟枪,但我看不出是什么原因造成的。我查了一下这个问题,但是找不到常见的东西?

Update以下内容有助于请求-响应(Invalid wsdl generated by spring-ws when the request element doesn't end with 'Request'),但现在我在SOAPUI中获得了“没有用于端点的适配器”的引用我的响应类的响应。 PayloadRoot和ResponsePayload与wsdl对象完全匹配。

java spring spring-ws
1个回答
0
投票

[好,因为这里唯一的“帮助”是近距离投票(谢谢,非常有帮助),我现在已经自己解决了这个问题,并将发布解决方案。有两个部分:

  1. 根据问题中的“更新”,XSD中的Request方法以该方法命名,并且没有后缀“ Request”。这意味着我必须创建一个自定义WSDL11Definition类,该类将允许setRequestSuffix为空(空)。问题链接具有更多详细信息。

  2. 方法上的对象需要包装在JAXBElement<>中,以便成功识别输入和输出。

以上已完成,我的断点是在我的IDE中使用SOAPUI命中的。

© www.soinside.com 2019 - 2024. All rights reserved.