Какой правильный выбор для меня для создания веб-службы с использованием Axis2 - AXIOM, JAXB, ADB или XMLBeans - PullRequest
6 голосов
/ 17 февраля 2011

Axis2 поддерживает создание веб-служб с использованием AXIOM, JAXB, ADB и XMLBeans.Я новичок в этой области разработки веб-сервисов и хочу создать веб-сервис с использованием Axis2.Веб-сервис будет очень простым, но я ожидаю, что он будет меняться довольно часто.Мне показалось, что AXIOM хорош, поскольку он позволяет вам указать ваши требования к сервису в файле service.xml, а затем создает его для вас.Поэтому я подумал, что это облегчит мою жизнь, так как в будущем для любых изменений в моем веб-сервисе мне нужно всего лишь изменить файл service.xml и некоторый код в виде классов .java для веб-сервисов.Но и у других методов есть свои преимущества.Учитывая мои требования, можете ли вы сказать мне, какой метод я должен использовать при создании веб-службы?Примечание. Я бы хотел расширить поддержку веб-службы REST и SOAP.

1 Ответ

7 голосов
/ 17 февраля 2011

Я начну с того, что признаю свою предвзятость в том, что я руководлю реализацией MOXy JAXB, что подводит меня к моей первой точке.

1.Существует несколько реализаций JAXB

Поскольку JAXB является стандартом ( JSR-222 ), существует несколько реализаций: Metro (эталонная реализация), EclipseLink MOXy , Apache JaxMe и т. д. Если вы столкнулись с ошибкой show stoppper в одной реализации, вы можете попробовать другую.

2,JAXB - это уровень связывания по умолчанию как для JAX-RS (веб-службы RESTful), так и для JAX-WS (веб-службы SOAP)

JAXB был разработан совместно с JAX-WS, а JAX-RS был написаниспользовать JAXB.JAXB поддерживается на всех серверах приложений Java EE 5 и Java EE 6.

3.JAXB поддерживает функции Java 5, такие как обобщенные типы и перечисления

Это может иметь большое значение для вас, но JAXB поддерживает обобщенные и перечисления, а XML Beans - нет.

4.Отдельные реализации имеют очень полезные расширения

Например, MOXy имеет расширения для отображения на основе XPath, файл метаданных XML и расширения для отображения сущностей JPA:

...