web-dev-qa-db-fra.com

Différence entre JAX-WS, Axis2 et CXF

Quelle est la différence entre:

  1. JAX-WS
  2. Axe2
  3. CXF

Tous les trois peuvent être utilisés pour créer des services Web en Java.
Dès que je sais que JAX-WS est une spécification et Axis2 et CXF sont des implémentations, mais Java = 1.6 a une implémentation de JAX-WS si je ne me trompe pas.

Vous pouvez donc utiliser Java 1.6 pour développer des services Web JAX-WS sans utiliser Axis2 ou CXF? Alors, quelle est l’utilisation de Axis2, CXF?

126
Maverick Riz

L’implémentation JAX-WS intégrée au JDK n’est en réalité qu’un feuilleton de base. Si vous avez besoin des éléments WS- * plus complexes tels que WS-Security, WS-RM, WS-Policy, etc., vous devez utiliser l'une des alternatives telles que CXF, Metro ou Axis2. Cela peut également dépendre de ce que vous essayez d'intégrer. Par exemple, CXF a un support Spring de premier ordre, ainsi qu'un très bon support OSGi.

CXF a aussi d'autres choses que JAX-WS. Il a également une implémentation conforme JAX-RS et supporte les services d’exposition comme REST et SOAP très bien. Est-ce qu’une implémentation SOAP/JMS conforme type de choses est nécessaire. En gros, beaucoup de choses ne sont pas disponibles dans l'impl. JAX-WS in-jdk.

Regarde aussi:

Différence entre Apache CXF et Axis

135
Daniel Kulp

En bref.

WSDL WS- * est indépendant de la langue.

JAX-WS est Java standard pour créer un service Web.

Apache CXF et Apache Axis 2 sont deux implémentations de JAX-WS. Ils proposent également des implémentations JAX-RS pour vous permettre de créer des services Restful.

CXF a une meilleure intégration avec Spring et Camel ( camel-cxf ). Et Axis 2 ne semble pas avoir de version active.

15
chenrui

J'ai trouvé avec CXF - l'intégration avec Spring est très facile. En outre, il fournit diverses fonctionnalités telles que:

  1. Personnalisation des fonctionnalités de journalisation
  2. Intercepteur entrant et sortant
  3. Niveau de sécurité de l'application
  4. Gestion facile des exceptions à l'aide de Fault personnalisé.

Pour plus de détails, si vous le souhaitez, veuillez consulter ce lien:

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

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

Et, j'ai lu les liens ci-dessus, c'est déjà utile pour moi. J'espère que cela fonctionne pour vous aussi.

Merci !

14
puru

L’organisation des services Web se base sur certaines directives, à savoir BP (Basic Profile) 1.0 et BP (Basic Profile) 1.1. Base sur les directives Toutes les personnes (langage Java/.Net) définissent une spécification avec une implémentation par défaut Dans Java La spécification BP 1.0 est basée sur JAX-RPC et la spécification 1.0 sur JAX-WS

L'implémentation par défaut de JAX-WS est RI (Reference Implementation). Basée sur l'exigence/Choice, nous pouvons modifier l'implémentation (RI/AXIS-2/CXF)

Lorsque nous utilisons Java 1.6, ce cas dans le JDK est déjà disponible, aucun autre fichier jar n'est requis. Si vous souhaitez utiliser une implémentation différente, ce cas nécessite une application particulière.

Axis-2 et CXF proviennent d'Apache

3
Abhijit Patra