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

Spring WS produces notification instead of request-response

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

我有一个端点可以工作,使用 XSD 现有应用程序(使用 JAX-WS),并使用 SoapUI 生成新的集合。

出于某种原因,Web 服务似乎以 'Notification' 类型发布,而不是像预先存在的 JAX-WS 端点上的原始现有方法那样 'Request-Response'。 Spring WS 也有一个带有响应后缀 class 的 'Output',而 JAX-WS 则没有。这在 SoapUI 中在视觉上有所不同,Spring wsdl 在每个方法旁边都有一个红色 'left arrow',而不是逆流箭头。

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

如前所述,我觉得方法上的 'Type' 是确凿的证据,但我看不出是什么原因造成的。我查过这个问题,但找不到任何共同点?

更新 以下内容有助于请求-响应 (),但我现在在 SOAPUI 中收到 'No adapter for endpoint' 引用的响应我的回复 class。 PayloadRoot 和 ResponsePayload 与 wsdl 对象完全匹配。

好的,因为这里唯一的 'help' 是一个势均力敌的投票(谢谢,非常有帮助),我现在已经自己解决了这个问题,并将 post 解决方案。分为两部分:

  1. 根据问题中的 'update',XSD 中的 Request 方法是以该方法命名的,并且没有后缀 'Request'。这意味着我必须创建一个自定义 WSDL11Definition class 以允许 setRequestSuffix 为 null(空)。问题 link 有更多详细信息。

  2. 方法上的对象需要包裹在JAXBElement<>中才能成功识别输入和输出。

完成上述所有操作后,使用 SOAPUI 在我的 IDE 中命中了断点。