An open source services development framework
CXF is a free solution that helps you to build and develop services using frontend programming APIs, like JAX-WS.
These services can speak a variety of protocols such as SOAP, RESTful HTTP, XML/HTTP, or CORBA and work over a variety of transports such as JMS, HTTP, or JBI.
CXF includes a broad feature set, but it is primarily focused on the following areas:
· Web Services Standards Support: CXF supports a variety of web service standards including SOAP, the Basic Profile, WSDL, WS-Addressing, WS-Policy, WS-ReliableMessaging, and WS-Security.
· Frontends: CXF supports a variety of "frontend" programming models. CXF implements the JAX-WS APIs (version 2.0 will be TCK compliant). It also includes a "simple frontend" which allows creation of clients and endpoints without annotations. CXF supports both contract first development with WSDL and code first development starting from Java.
· Ease of use: CXF is designed to be intuitive and easy to use. There are simple APIs to quickly build code-first services, Maven plug-ins to make tooling integration easy, JAX-WS API support, Spring 2.0 XML support to make configuration a snap, and much more.
· Binary and Legacy Protocol Support: CXF has been designed to provide a pluggable architecture that supports not only XML but also non-XML type bindings, such as JSON and CORBA, in combination with any type of transport.
Here are some key features of "CXF":
- High Performance
- Intuitive & Easy to Use
- Support for Standards:
- JAX-WS, JAX-WSA, JSR-181, and SAAJ
- SOAP 1.1, 1.2, WS-I BasicProfile, WS-Security, WS-Addressing, WS-RM and WS-Policy
- WSDL 1.1 and 2.0
- Multiple Transports, Bindings, Data Bindings, and Formats:
- Bindings: SOAP, REST/HTTP
- Data bindings: JAXB 2.0, Aegis, XMLBeans. (Castor and JiBX will be supported in a later version of CXF)
- Formats: XML, JSON
- Transports: HTTP, Servlet, JMS, and Jabber transports
- Extensibility API allows additional bindings for CXF, enabling additional message format support such as CSV and fixed record length
- Flexible Deployment:
- Lightweight containers: deploy services in Tomcat or Spring-based containers
- JBI integration: deploy as a service engine in a JBI container such as ServiceMix, OpenESB or Petals
- SCA integration: deploy in an SCA container such as Tuscany
- J2EE integration: deploy services in J2EE application servers such as Geronimo, JOnAS, JBoss, WebLogic, and WebSphere
- Standalone Java client/server
- Support for Multiple Programming Languages:
- Full support for JAX-WS 2.0 client/server programming model
- JAX-WS 2.0 synchronous, asynchronous and one-way API's
- JAX-WS 2.0 Dynamic Invocation Interface (DII) API
- Support for wrapped and non-wrapped styles
- XML messaging API
- Support for CORBA with Yoko
- Support for SCA withTuscany
- Support for JBI with ServiceMix
- Code Generation:
- Java to WSDL
- WSDL to Java
- XSD to WSDL
- WSDL to XML
- WSDL to SOAP
- WSDL to service
- [CXF-4924] - Many docLocation for a server address
- [CXF-5042] - SSL supports
- [CXF-5043] - Spring configuration supports
- [CXF-5044] - blueprint configuration support
- [CXF-5109] - Add supports of loading the netty transport with "netty://" perfix
- [CXF-5120] - support the TLSSessionInfo generation
- [CXF-5127] - Add the maxChunkContentSize option
- [CXF-5309] - Support Bean Validation API for JAX-RS
- [CXF-4676] - Partial WSDL support in CXF
- [CXF-4752] - TransformOutInterceptor does not transform SoapFaults
- [CXF-4753] - stax outTransform cannot deep-drop an element that has some attributes
- [CXF-4755] - StackOverflowError when ASMHelper tries to getClassCode from a parametrized type
- [CXF-4766] - WADL to Java generator does not strip custom regular expressions from method names
- [CXF-4767] - JAX-RS endpoints fail to register properly with ws-discovery service
- [CXF-4770] - When passing NULL @PathParam to JAXRS Client Proxy it no...