Previously did not contact CXF, the project needs to learn, from the Web to find information plus project practice, constantly barrier word.
CXF (Celtix + XFire) is an open Source services framework. CXF helps you build and develop Services using the Frontend programming API, like Jax-ws. These services can support multiple protocols, such as SOAP, Xml/http, RESTful HTTP, or CORBA, and can run on a variety of transport protocols, such as HTTP, JMS, or JBI,CXF, which greatly simplifies the creation of Services and Inherits from the XFire tradition, as can be seamlessly integrated with Spring naturally.
Functional characteristics
CXF contains a large number of features, but is mainly concentrated in the following areas:
- Support for Web services standards: CXF supports a variety of Web services standards, including SOAP, Basic profile, ws-addressing, Ws-policy, ws-reliablemessaging, and Ws-secur ity.
- FRONTENDS:CXF supports a variety of "Frontend" programming models, CXF implements the Jax-ws API (following the JAX-WS 2.0 TCK version), and it also contains a "simple Frontend" that allows the creation of clients and EndPoint without requiring Annotation annotations. CXF supports both WSDL-first development and code-first development patterns from Java.
- Easy to use: The CXF is designed to be more intuitive and easy to use. There are a number of simple APIs to quickly build code-first Services, and various Maven plugins make integration easier, support JAX-WS APIs, support for more streamlined XML configuration in Spring 2.0, and more.
- Support for binary and legacy protocols: The CXF design is a pluggable architecture that supports both XML and non-XML type bindings, such as JSON and CORBA.
Supports multiple standards
- Supports Jax-WS, JAX-WSA, JSR-181 and SAAJ;
- Supports SOAP 1.1, 1.2, WS-I basicprofile, ws-security, ws-addressing, WS-RM, and ws-policy;
- Support for WSDL 1.1, 2.0;
- Support MTOM;
Multiple transmission modes, Bindings, Data Bindings, and Format
- Bindings:soap, Rest/http;
- Data bndings: JAXB 2.0, Aegis Two are currently supported, and JAXB 2.0 is the default. XMLBeans, Castor, and JiBX data binding methods will be supported in the CXF 2.1 release;
- Format: XML, JSON;
- Transmission mode: HTTP, Servlet, JMS and Jabber;
- The extensible API allows additional Bindings for CXF to support other message formats, such as CSV and fixed record lengths.
Flexible deployment
- Lightweight containers: Services can be deployed in Tomcat or Spring-based containers;
- Integrated JBI: It can be deployed as a service engine in a JBI container such as ServiceMix, OpenESB or Petals, etc.
- Integrated SCA: Can be deployed in SCA containers such as Tuscany;
- Integrated Java EE: You can deploy Services in the Java EE Application Server, such as Geronimo, JOnAS, JBoss, WebSphere application Server, and WebLogic application server, and Jetty and Tomcat;
- Standalone Java client/server.
Supports multiple programming languages
- Fully support JAX-WS 2.0 Client/server programming model;
- Supports JAX-WS 2.0 Synchronous, asynchronous, and one-way API ' s;
- Supports JAX-WS 2.0 Dynamic invocation Interface (DII) API;
- Support wrapped and non-wrapped style;
- Support XML messaging API;
- Support for JavaScript and ECMAScript 4 XML (E4X), both client and server support;
- Support CORBA through Yoko;
- Support SCA through Tuscany;
- Support JBI through ServiceMix;
Code generation
- Java to WSDL;
- WSDL to Java;
- XSD to WSDL;
- WSDL to XML;
- WSDL to SOAP;
- WSDL to Service;
Apache CXF Introductory Explanation