Різниця між JAX-WS, Axis2 та CXF


131

Яка різниця між:

  1. JAX-WS
  2. Вісь2
  3. CXF

Усі три можна використовувати для створення веб-сервісів на Java.
Як я знаю, JAX-WS є специфікацією, а Axis2 і CXF є реалізаціями, але Java 1.6 має реалізацію JAX-WS, якщо я не помиляюся.

Тож можна використовувати Java 1.6 для розробки веб-сервісів JAX-WS без використання Axis2 або CXF? Тоді в чому полягає використання Axis2, CXF?

Відповіді:


143

Реалізація JAX-WS, вбудована в JDK, насправді є лише базовим милом. Якщо вам потрібні будь-які складніші речі WS- *, такі як WS-Security, WS-RM, WS-Policy тощо), вам потрібно скористатися однією з альтернатив, таких як CXF або Metro або Axis2. Це також може залежати від того, з чим ви намагаєтесь інтегруватися. Наприклад, CXF має найкращу підтримку Spring, а також дуже гарну підтримку OSGi.

У CXF також є інші речі, крім просто JAX-WS. Він також сумісний з реалізацією JAX-RS і підтримує виставлення послуг як REST, так і SOAP дуже добре. Реалізація SOAP / JMS, сумісна з W3C, якщо потрібен такий тип речей. В основному, багато матеріалів, недоступних від in-jdk JAX-WS impl.

Також дивіться:

Різниця між Apache CXF і Axis


1
Дякую, допомагає багато. Отже, для основних веб-служб я просто можу використовувати java 1.6 для реалізації. І чи було їх реалізацією jax-ws в java 1.5? Або він був доданий після 1,6? Якщо мені потрібні додаткові функції, я можу перейти з CXF?
Маверик Різ

5
Він був доданий в 1.6. Якщо вам потрібна 1,5 підтримка, вам потрібно буде схопити CXF або JAX-WS-посилання імпл або подібне.
Даніель Кулп

7
І здебільшого, якщо ви почнете з in-jdk JAX-WS impl, ви можете скинути CXF у будь-який час, і він все одно спрацює.
Даніель Кулп

1
У мене є трохи сумнівів. Чи не Metro - реалізація JAX-WS вбудована в JDK? Або Metro є більш складним, ніж реалізація JAX-WS, вбудована в JDK?
Декстер

16

Коротко.

WSDL WS- * є мовними агностиками.

JAX-WS - стандарт Java для створення веб-сервісу.

Apache CXF і Apache Axis 2 - це дві реалізації JAX-WS. Вони також пропонують реалізацію JAX-RS, щоб ви могли створювати сервіси відпочинку.

CXF має кращу інтеграцію із Spring та Camel ( camel-cxf ). І Axis 2, здається, не має активного випуску.


15

Я знайшов із CXF - інтеграція з Spring дуже проста. Крім того, він пропонує різні функції, такі як:

  1. Налаштування функцій журналу
  2. Вхідний та вихідний перехоплювач
  3. Захист рівня додатків
  4. Легке керування винятками за допомогою користувацької помилки.

Щоб отримати докладнішу інформацію, будь ласка, перевірте це посилання:

http://predic8.com/axis2-cxf-jax-ws-comppare.htm

http://www.ibm.com/developerworks/java/library/j-jws11/

І, я читав вище посилання, його прихильність корисна для мене. Я сподіваюся, що це працює і для u.

Дякую !


3

Організація веб-сервісу містить деякі вказівки, наприклад, BP (Basic Profile) 1.0 та BP (Basic Profile) 1.1. База на керівних принципах Всі мови (Java / .Net) люди випускають Специфікацію з реалізацією за замовчуванням У java База для BP 1.0 Специфікація - JAX-RPC, а 1.0 Специфікація - JAX-WS

Реалізація за замовчуванням JAX-WS - це RI (Реалізація довідки) База на вимозі / виборі, ми можемо змінити реалізацію (RI / AXIS-2 / CXF)

Коли ми використовуємо java 1.6, цей випадок у JDK вже доступний, тому не потрібна будь-яка інша банка. Якщо ви хочете використовувати іншу реалізацію, для цього випадку потрібна певна банка реалізації.

Axis-2 і CXF походять від Apache

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.