I am a new to Java EE Services. In my project they will be using JAX-WS with Apache CXF. I want to know what is Apache CXF? I can use plain JAX-WS to create Web Services. Why should I use Apache CXF?
Apache CXF is the product of two projects, Celtix and XFire , hence the name CXF . Celtix , an open source Java-based Enterprise Service Bus (ESB) project, is a product of ObjectWeb consortia that delivers open source middleware solutions.
In Apache Camel, the Camel CXF component is the key to integrating routes with Web services. You can use the Camel CXF component to create a CXF endpoint, which can be used in either of the following ways: Consumer — (at the start of a route) represents a Web service instance, which integrates with the route.
JAX-RS: Java API for RESTful Web Services is a Java programming language API that provides support in creating web services according to the Representational State Transfer (REST) architectural style. CXF supports JAX-RS 2.1 (JSR-370), 2.0 (JSR-339) and 1.1 (JSR-311).
CXF has SOAP, REST/HTTP, and its Data Bindings support JAXB 2.0,Aegis, by default it use JAXB 2.0 and more close Java standard specification.. Axis2 supports a wider range of data bindings, including XMLBeans, JiBX, JaxMe and JaxBRI as well as its own native data binding, ADB.
Apache CXF is just one of the implementations of JAX-WS API. There are other implementations, such as JAX-WS RI (reference implementation) that is included in Java and part of Metro framework (which includes some other things also, like WSIT).
Your question is - what are the reasons to choose Apache CXF? There are plenty of them, for example:
References:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With