Как заставить Axis2 работать в среде OSGi? - PullRequest
0 голосов
/ 13 мая 2011

Мне нужен доступ к веб-сервису в OSGi-среде (Equinox). У меня уже есть код для использования веб-службы в качестве автономного приложения.

В примере кода используется Axis2, это кажется проблемой, поскольку мне нужно добавить все необходимые библиотеки в виде отдельных пакетов. Это не работает с Axis2, потому что файлы JAR, предоставленные проектом, не подготовлены для OSGi.

Я пытался "разбить" файлы JAR через BND, но в итоге комплекты не работают из-за ошибки "Пакет использует конфликт: org.apache.axis2.addressing"

Как настроить Axis2 с поддержкой OSGi?

В качестве альтернативы - каков простой и надежный вариант для доступа к (мыльному) веб-сервису в Equinox (просто не Eclipse)? Я уже пробовал Apache CXF, который потерпел неудачу, потому что похоже, что он пытается генерировать код во время выполнения, и Axis2 также очень труден, как показывает мой пост.

1 Ответ

2 голосов
/ 13 мая 2011

Вы должны рассмотреть возможность встраивания библиотек Axis2 (и зависимостей) в ваш пакет. В этом случае Axis2 не будет развернут как собственный пакет - вместо этого классы / файлы будут скопированы в ваш пакет.

Если вы используете maven для сборки вашего комплекта, вам следует взглянуть на раздел maven-bundle-plugin и Embedding зависимости .


Я бы также порекомендовал посмотреть поближе, если поблизости нет библиотек Axis2 с поддержкой OSGi (я им не пользуюсь, поэтому не знаю, но результат быстрого поиска в org.apache.axis2.osgi ).

...