JAX-WS, Axis2 및 CXF의 차이점


131

차이점은 무엇입니까?

  1. JAX-WS
  2. 축 2
  3. CXF

세 가지 모두 Java로 웹 서비스를 작성하는 데 사용할 수 있습니다.
현재 JAX-WS는 사양 이고 Axis2 및 CXF는 구현이지만 Java 1.6에는 JAX-WS 구현이 있습니다.

그렇다면 Axis2 또는 CXF를 사용하지 않고 Java 1.6을 사용하여 JAX-WS 웹 서비스를 개발할 수 있습니까? 그렇다면 Axis2, CXF의 용도는 무엇입니까?

답변:


143

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 구현이 있습니다. 기본적으로 JDBC 내 JAX-WS impl에서 많은 것을 사용할 수 없습니다.

참조 :

Apache CXF와 Axis의 차이점


1
고마워요. 기본 웹 서비스에 대해서는 java 1.6을 사용하여 구현할 수 있습니다 .Java 1.5에서 jax-ws의 구현입니까? 아니면 1.6 이후에 추가 되었습니까? 추가 기능이 필요한 경우 CXF를 사용할 수 있습니까?
Maverick Riz

5
1.6에 추가되었습니다. 1.5 지원이 필요한 경우 CXF 또는 JAX-WS 참조 impl 등을 가져와야합니다.
다니엘 쿨프 (Daniel Kulp)

7
그리고 대부분 in-jdk JAX-WS impl로 시작하면 언제든지 CXF를 삭제할 수 있으며 여전히 작동합니다.
다니엘 Kulp

1
약간의 의심이 있습니다. Metro가 아님 -JDK에 JAX-WS 구현이 내장되어 있습니까? 아니면 Metro가 JDK에 내장 된 JAX-WS 구현보다 더 정교합니까?
Dexter

16

한마디로.

WSDL WS- *는 언어에 구애받지 않습니다.

JAX-WS는 웹 서비스를 빌드하기위한 Java 표준입니다.

Apache CXFApache Axis 2 는 JAX-WS의 두 가지 구현입니다. 또한 JAX-RS 구현을 제공하여 Restful 서비스를 구축 할 수 있습니다.

CXF는 Spring 및 Camel ( camel-cxf ) 과 더 잘 통합됩니다 . 그리고 Axis 2는 활성 릴리스가없는 것 같습니다.


15

CXF에서 발견했습니다-Spring과의 통합은 매우 쉽습니다. 또한 다음과 같은 다양한 기능을 제공합니다.

  1. 로깅 기능 사용자 정의
  2. 인바운드 및 아웃 바운드 인터셉터
  3. 응용 프로그램 수준 보안
  4. 사용자 정의 결함을 사용한 손쉬운 예외 처리.

자세한 내용은 다음 링크를 확인하십시오.

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

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

그리고, 나는 위의 링크를 읽었으며, 그 점령은 나에게 도움이되었습니다. 나는 그것이 너에게도 효과가 있기를 바랍니다.

감사 !


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)

JDK에서 Java 1.6을 사용하는 경우 이미 사용할 수 있으므로 다른 jar이 필요하지 않습니다. 다른 구현을 사용하려면이 경우 특정 implememtation jar이 필요합니다.

Axis-2 및 CXF는 Apache에서 제공됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.