Клиент веб-службы OSGi SOAP - PullRequest
3 голосов
/ 23 июля 2011

Я пытаюсь заставить клиента веб-службы работать с OSGi, я использую Felix в качестве контейнера.

До сих пор я пытался использовать Apache CXF.Это не будет работать с моим веб-сервисом, так как он имеет кодировку RPC и не поддерживается, когда я пытаюсь создать заглушки.Я использовал Apache Axis для создания своих заглушек, и теперь у меня возникают проблемы с зависимостями в моих пакетах.Когда мои пакеты развернуты, я получаю зависимости с зависимостями пакетов apache.

Я использую maven для своих сборок и использую maven-bundle-plugin с целью bundleall для получения пакетов зависимостей, но все еще сталкиваюсь с проблемами с зависимостями пакетов.Мне бы очень хотелось использовать osgi, поскольку подключаемая природа через пакеты - это именно то, что мне нужно, однако я трачу много времени на поиск зависимостей пакета.

Существуют ли наглядные примеры использования веб-службы SOAP из OSGi, включая способы разрешения зависимостей?

Ответы [ 2 ]

1 голос
/ 24 июля 2011

Чтобы сделать вашу жизнь проще, вы можете попробовать использовать fuse esb (apache servicemix) или karaf.Felix - это минимальный контейнер OSGi, тогда как Karaf - это Felix со многими наиболее важными пакетами, которые уже развернуты.Предохранитель (также называемый servicemix) - это караф с еще большим количеством комплектов.Fuse поставляется с cxf, поэтому вам не нужно возиться с ним.

Если вы действительно предпочитаете использовать felix, пожалуйста, опубликуйте конфигурацию подключаемого модуля maven bundle, а также список ваших пакетов, работающих в felix.Я давно использую CXF в Felix / Karaf для обслуживания веб-сервисов JAX-RS, и это довольно мощное решение.

0 голосов
/ 25 июля 2011

Цель bundleall для maven-bundle-plugin - генерировать пакеты для всех ваших зависимостей. Однако он не покажет вам порядок их установки для разрешения зависимостей. Одной из реализаций OSGi, которая отлично справляется с обработкой зависимостей, является Веб-сервер Virgo от Eclipse Foundation . С помощью Virgo вы можете просто скопировать все пакеты, сгенерированные целью bundleall, непосредственно в папку репозитория / usr, поместить свой сервис в папку раскладки, и среда выполнения будет обрабатывать разрешение зависимостей за вас. Я успешно использовал этот процесс в прошлом.

В связанной заметке, если у вас нет нескольких необычных зависимостей, вы должны изучить добавление зависимостей из SrpingSource Enterprise Bundle Repository .

...