2014-10-20 2 views
1

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

Конфигурация сервлета является стандартной конфигурацией. Конфигурация клиента, сделанная из службы TIN ЕС.

Работы двух плагинов находятся отдельно, но не вместе. У кого-нибудь есть решение проблемы?

Использование Grails версия 2.3.7 CxF версия 1.1.4 CXF-клиент 1.6.1

+0

Мы используем Grails 2.2.x с теми же версиями cxf и cxf-client и тоже боремся с этим. Вам удалось решить проблему на данный момент? – heikkim

ответ

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', который имеет тип org.apache.cxf.bus.spring.SpringBus. Клиент CXF создает (по умолчанию) еще одну шину, которая, кажется, нарушает веб-службу CXF. Используя ту же шину в клиенте CXF, проблема была решена.

Смежные вопросы