Sự khác biệt giữa JAX-WS, Axis2 và CXF


131

Sự khác biệt giữa:

  1. JAX-WS
  2. Trục2
  3. CXF

Tất cả ba có thể được sử dụng để tạo dịch vụ web trong Java.
Theo tôi biết JAX-WS là một đặc điểm kỹ thuật và Axis2 và CXF là các triển khai, nhưng Java 1.6 có triển khai JAX-WS nếu tôi không sai.

Vì vậy, người ta có thể sử dụng Java 1.6 để phát triển các dịch vụ web JAX-WS mà không cần sử dụng Axis2 hoặc CXF? Vậy thì việc sử dụng Axis2, CXF là gì?

Câu trả lời:


143

Việc triển khai JAX-WS được tích hợp trong JDK thực sự chỉ là những thứ xà phòng cơ bản. Nếu bạn cần bất kỳ thứ WS- * phức tạp nào như WS-Security, WS-RM, WS-Policy, v.v ..., bạn cần sử dụng một trong những lựa chọn thay thế như CXF hoặc Metro hoặc Axis2. Nó cũng có thể phụ thuộc vào những gì bạn đang cố gắng để tích hợp với. Ví dụ, CXF có hỗ trợ Spring đỉnh cao cũng như hỗ trợ OSGi rất tốt.

CXF cũng có những thứ khác ngoài JAX-WS. Nó cũng có triển khai JAX-RS tuân thủ và hỗ trợ các dịch vụ phơi bày cả REST và SOAP rất tốt. Có triển khai SOAP / JMS tuân thủ W3C nếu loại điều đó là bắt buộc. Về cơ bản, rất nhiều thứ không có sẵn từ hàm JAX-WS in-jdk.

Cũng thấy:

Sự khác biệt giữa Apache CXF và Trục


1
Cảm ơn, giúp rất nhiều. Vì vậy, đối với các công cụ dịch vụ web cơ bản, tôi chỉ có thể sử dụng java 1.6 để triển khai. Và đây có phải là cách triển khai của jax-ws trong java 1.5 không? Hoặc nó đã được thêm vào sau 1.6? Nếu tôi cần các tính năng bổ sung tôi có thể đi với CXF?
Maverick Riz

5
Nó đã được thêm vào 1.6. Nếu bạn cần hỗ trợ 1.5, bạn sẽ cần lấy CXF hoặc hàm tham chiếu JAX-WS hoặc tương tự.
Daniel Kulp

7
Và đối với hầu hết các phần, nếu bạn bắt đầu với hàm JAX-WS in-jdk, bạn có thể thả CXF bất cứ lúc nào và nó vẫn hoạt động.
Daniel Kulp

1
Tôi có một chút nghi ngờ. Không phải là Metro - Việc triển khai JAX-WS được tích hợp trong JDK? Hoặc Metro tinh vi hơn so với triển khai JAX-WS được tích hợp trong JDK?
Dexter

16

Nói ngắn gọn.

WSDL WS- * là ngôn ngữ bất khả tri.

JAX-WS là tiêu chuẩn Java để xây dựng dịch vụ web.

Apache CXFApache Trục 2 là hai triển khai của JAX-WS. Họ cũng cung cấp các triển khai JAX-RS để bạn có thể xây dựng các dịch vụ Restful.

CXF có sự tích hợp tốt hơn với Spring và Camel ( camel-cxf ). Và Trục 2 dường như không có bản phát hành hoạt động.


15

Tôi thấy với CXF - tích hợp với Spring rất dễ dàng. Hơn nữa, nó cung cấp các tính năng khác nhau như:

  1. Tùy chỉnh các tính năng ghi nhật ký
  2. Đánh chặn trong và ngoài nước
  3. Cấp độ ứng dụng bảo mật
  4. Xử lý ngoại lệ dễ dàng bằng cách sử dụng Fault tùy chỉnh.

Để biết thêm chi tiết, nếu bạn muốn, vui lòng kiểm tra liên kết này:

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

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

Và, tôi đọc các liên kết ở trên, sự hữu ích của nó đối với tôi. Tôi hy vọng nó cũng làm việc cho bạn.

Cảm ơn !


3

Tổ chức dịch vụ web liên quan đến một số nguyên tắc, ví dụ như BP (Hồ sơ cơ bản) 1.0 và BP (Hồ sơ cơ bản) 1.1. Dựa trên Nguyên tắc Tất cả mọi người Ngôn ngữ (Java / .Net) đều phát hành Đặc tả với triển khai Mặc định Trong java Cơ sở trên Đặc tả BP 1.0 là Đặc tả JAX-RPC và Đặc tả 1.0 là JAX-WS

JAX-WS Triển khai mặc định là RI (Triển khai tham chiếu) Dựa trên yêu cầu / Lựa chọn, chúng tôi có thể thay đổi triển khai (RI / AXIS-2 / CXF)

Khi chúng tôi đang sử dụng java 1.6, trường hợp đó trong JDK đã có sẵn nên không yêu cầu bất kỳ jar nào khác. Nếu bạn muốn sử dụng thực hiện khác nhau, trường hợp đó yêu cầu jar giả định cụ thể.

Trục-2 và CXF đến từ Apache

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.