Невозможно заставить cxf и cxf-client работать одновременно grails

У меня проблема, когда я использую одновременно cxf и cxf-client. Cxf говорит, что не может найти никаких служб. Когда я комментирую конфигурацию для cxf-клиента, cxf находит службы.

Конфигурация сервлета является стандартной конфигурацией. Конфигурация для клиента сделана из сервиса EU TIN.

Два плагина работают отдельно, но не вместе. Кто-нибудь нашел решение этой проблемы?

Использование Grails версии 2.3.7 Cxf версии 1.1.4 cxf-client 1.6.1


person user2363469    schedule 20.10.2014    source источник
comment
Мы используем Grails 2.2.x с теми же версиями cxf и cxf-client и тоже боремся с этим. Удалось ли вам уже решить проблему?   -  person heikkim    schedule 30.12.2014


Ответы (1)


Мне удалось обойти ту же проблему, немного изменив плагин клиента CXF. В WebServiceClientFactoryImpl измените создание JaxWSProxyFactoryBean следующим образом:

Bus bus = Holders.grailsApplication.mainContext.getBean("cxf") as Bus
JaxWsProxyFactoryBean clientProxyFactory = new JaxWsProxyFactoryBean(serviceClass: serviceInterface,
            address: serviceEndpointAddress, bus: bus)

Плагин CXF создает этот bean-компонент cxf, который имеет тип org.apache.cxf.bus.spring.SpringBus. Клиент CXF создает (по умолчанию) другую шину, которая, кажется, нарушает работу веб-службы CXF. Используя ту же шину в клиенте CXF, проблема была решена.

person lassel    schedule 31.12.2014