CXF Module Overview
The CXF web services support inside Mule allows you to build sophisticated web service applications and do things like:
-
Implement JAX-WS code first or WSDL first services
-
Consume WSDL based web services
-
Create proxies/gateways which mediate SOAP messages to:
-
Create a WS-Security gateway
-
-
Do content based routing
-
Validate incoming requests against the WSDL
-
Build reliable web services using WS-Addressing and WS-ReliableMessaging and a JDBC store.
-
Build secure services which are transport agnostic using WS-Security and WS-SecureConversation.
-
Configure services using WS-Policy
For information about what standards are supported, see Supported Web Service Standards.
When using CXF inside of Mule, there are several different ways to build and consume service:
Frontend Mode | Server | Client |
---|---|---|
Simple |
<simple-service> builds services based on simple POJOs - no annotations are needed. CXF will introspect your POJOs and generated a WSDL for them |
<simple-client> allows you to interact with a service which was built with the simple frontend if you have a copy of the service interface. |
JAX-WS |
<jaxws-service> builds a web service messsage processor which using the JAX-WS and JAXB standard annotations or from a set of classes generated from a WSDL. These annotations give you complete control over how your schemas and WSDL are generated. |
<jaxws-client> builds a message processor which can operate in two modes: 1) it can use a JAX-WS client generated from WSDL. 2) it can use a JAX-WS service interface which matches your server interface. |
Proxy |
<proxy-service> provides raw SOAP and WS-* processing for incoming XML messages, allowing you to apply things like WS-Security to incoming messages and work with the raw XML. |
<proxy-client> provides raw SOAP and WS-* processing for outgoing XML messages, allowing you to send outgoing messages in raw XML form and apply things like WS-Security to them. |