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

5ktev3wc  于 5个月前  发布在  Spring
关注(0)|答案(1)|浏览(49)

我一直在尝试使用SpringWebService在Spring中创建一个现有JAX-WSWeb服务的端口(大致遵循https://spring.io/guides/gs/producing-web-service/的指南)。
通过使用现有应用程序(使用JAX-WS)使用的XSD和使用SoapUI生成的新集合,我已经使一个端点工作正常。
出于某种原因,Web Service似乎是使用“Notification”的类型发布的,而不是像原始的“Request-Response”,在预先存在的JAX-WS端点上现有的方法。Spring WS也有一个“Output”,声明了一个以Response为后缀的类,而JAX-WS没有。这在SoapUI中是视觉上不同的,Spring wsdl在每个方法旁边有一个红色的“左箭头”,而不是逆流箭头。
我认为这是我在调用我设置的一个端点时看到的一个问题-记录一个错误,声明“No endpoint mapping found for [SaajSoapMessage.... myEndpointMethodResponse”(例如,来自端点方法的响应对象,而不是端点方法本身)。
如前所述,我觉得方法上的“类型”是确凿的证据,但我看不出是什么原因造成的。我已经查过这个问题,但找不到任何共同点?

更新以下内容对request-response(Invalid wsdl generated by spring-ws when the request element doesn't end with 'Request')有帮助,但我现在在SOAPUI中得到了引用我的Response类的“No adapter for endpoint”的响应。PayloadRoot和ResponsePayload完全匹配wsdl对象。

lf5gs5x2

lf5gs5x21#

我现在已经自己解决了这个问题,并将发布解决方案。有两个部分:
1.根据问题中的“update”,XSD中的Request方法以该方法命名,并且没有后缀“Request”。这意味着我必须创建一个自定义的WSDL11Definition类,以允许setRequestSuffix为null(空)。问题链接有更多细节。
1.方法上的对象需要 Package 在JAXBElement<>中,以便成功识别输入和输出。
一个所有上述已经做了,我的断点被击中在我的IDE使用SOAPUI。

相关问题