当我同时使用cxf和cxf-client时,我遇到了问题。 cxf表示无法找到任何服务。 当我评论cxf-client的配置时,cxf会找到服务。
servlet的配置是标准配置。 由EU TIN服务构成的客户端配置。
这两个插件可以单独找到但不能一起找到。 有人找到解决这个问题的方法吗?
使用grails版本2.3.7 Cxf版本1.1.4 cxf-client 1.6.1
答案 0 :(得分:0)
我设法通过稍微修改CXF客户端插件来解决同样的问题。在WebServiceClientFactoryImpl中修改创建JaxWSProxyFactoryBean,如下所示:
Bus bus = Holders.grailsApplication.mainContext.getBean("cxf") as Bus
JaxWsProxyFactoryBean clientProxyFactory = new JaxWsProxyFactoryBean(serviceClass: serviceInterface,
address: serviceEndpointAddress, bus: bus)
CXF插件创建了' cxf' bean的类型为org.apache.cxf.bus.spring.SpringBus。 CXF客户端创建(默认情况下)另一条似乎打破CXF Web服务的总线。通过在CXF客户端中使用相同的总线,问题得以解决。