Contact Free trial Login

CXF Module Overview

MuleSoft recommends against deployments to Mule 3.8. Standard Support for this version ended on November 16, 2018, and Mule 3.8 will reach its End of Life on November 16, 2021, when Extended Support ends.

When sending requests to an external web service, the recommended approach is to use the Web Service Consumer rather than the CXF Module.

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 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-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.


<jaxws-service> builds a web service message 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-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.

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub