web-dev-qa-db-ja.com

JAX-WS、Axis2、CXFの違い

違いは何ですか:

  1. JAX-WS
  2. Axis2
  3. CXF

3つすべてを使用して、JavaでWebサービスを作成できます。
JAX-WSは仕様であり、Axis2とCXFは実装ですが、私が知っている場合、Java 1.6にはJAX-WSの実装があります。間違ってない。

Axis2またはCXFを使用せずにJava 1.6を使用してJAX-WS Webサービスを開発できますか?次に、Axis2、CXFの使用は何ですか?

126
Maverick Riz

JDKに組み込まれているJAX-WS実装は、実際には単なる基本的な石鹸です。 WS-Security、WS-RM、WS-Policyなどのより複雑なWS- *が必要な場合は、CXF、Metro、Axis2などの代替手段のいずれかを使用する必要があります。また、統合しようとしているものにも依存します。たとえば、CXFには一流のSpringサポートと非常に優れたOSGiサポートがあります。

CXFには、JAX-WSだけでなく他のものもあります。 JAX-RSに準拠した実装もあり、RESTとSOAPの両方としてのサービスの公開を非常によくサポートします。そのようなことが必要な場合は、W3C準拠のSOAP/JMS実装を使用します。基本的に、in-jdk JAX-WS implにはない多くのものがあります。

以下も参照してください。

Apache CXFとAxisの違い

135
Daniel Kulp

要するに。

WSDL WS- *は言語に依存しません。

JAX-WSは、Webサービスを構築するためのJava標準です。

Apache CXF および Apache Axis 2 は、JAX-WSの2つの実装です。また、JAX-RS実装も提供しているため、Restfulサービスを構築できます。

CXFは、Springとのより良い統合、およびCamel( camel-cxf )を備えています。また、Axis 2にはアクティブなリリースがないようです。

15
chenrui

私はCXFで見つけました-Springとの統合は非常に簡単です。さらに、次のようなさまざまな機能を提供します。

  1. ロギング機能のカスタマイズ
  2. インバウンドおよびアウトバウンドインターセプター
  3. アプリケーションレベルのセキュリティ
  4. カスタムフォールトを使用した簡単な例外処理。

詳細については、必要に応じて、次のリンクをご覧ください。

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

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

そして、私は上記のリンクを読みます。私もそれがあなたのために働くことを願っています。

ありがとう!

14
puru

Webサービス組織は、いくつかのガイドライン、つまりBP(Basic Profile)1.0およびBP(Basic Profile)1.1を採用しています。ガイドラインに基づくすべての言語(Java/.Net)の人々は、Javaでデフォルト実装の仕様をリリースします。

JAX-WSデフォルトの実装はRI(参照実装)です要件に基づいて/実装を変更できる選択肢(RI/AXIS-2/CXF)

Java 1.6を使用している場合、JDKでそのケースはすでに利用可能であるため、他のjarは必要ありません。別の実装を使用する場合、その場合は特定の実装jarが必要でした。

Axis-2とCXFはApacheから来ています

3
Abhijit Patra