Name

CXF — uses Apache CXF to interact with JAX-WS Web services

Overview

The CXF component provides integration with Apache CXF for connecting to JAX-WS services hosted in Apache CXF.

URI format

CXF endpoints support two URI formats:

  • Referencing the endpoint by the service's bean ID

    cxf:bean:beanID[?options]
  • Referencing the endpoint by the service's address

    cxf://someAddress[?options]

Dependencies

Maven users will need to add a dependency on camel-cxf to their poms as shown in Example 1, “Apache CXF dependency”.

Example 1. Apache CXF dependency

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-cxf</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>

If you want to learn about Apache CXF dependencies, see the WHICH-JARS text file.

Options

Table 2, “Apache CXF options” lists the options for a CXF endpoint.

Table 2. Apache CXF options

NameDefault ValueDescription
wsdlURLdetermined from endpoint addressSpecifies the location of the WSDL.
serviceClass 

Specifies the name of the SEI (Service Endpoint Interface) class. The SEI class can have, but does not require, JSR181 annotations.

This option is required when dataFormat is set to POJO. When dataFormat is set to PAYLOAD or MESSAGE, this option is not required if the wsdlURL option is provided.

It is possible to use # notation to reference a serviceClass object instance from the registry.

When a Apache CXF endpoint is used in a to the SEI must be a Java interface.

serviceName Specifies the QName of the service being implemented. It maps to wsdl:service@name.
portName Specifies the QName of the port for the service being implemented. It maps to wsdl:port@name.
dataFormatPOJO

Specifies the message data format the CXF endpoint supports. Valid values are:

  • POJO

  • PAYLOAD

  • MESSAGE

relayHeaderstrueSpecifies whether the endpoint relays headers along the route. This option is only valid when dataFormat is set to POJO.
wrappedfalseSpecifies whether the endpoint producer invokes wrapped operations.
wrappedStylefalseSpecifies if the endpoint uses the document-literal wrapped style.
setDefaultBusfalseSpecifies whether to use the default Apache CXF bus for this endpoint.
bus Specifies a reference to a bus object in the registry using the # notation. The referenced bus is used in place of the default bus.
cxfBinding Specifies a reference to a binding object in the registry using the # notation. The referenced binding is used in place of the default binding.
headerFilterStrategy Specifies a reference to an instance of org.apache.camel.spi.HeaderFilterStrategy in the registry using the # notation. The referenced instance is used in place of the default header filter strategy.
loggingFeatureEnabledfalseSpecifies if the Apache CXF logging feature is enabled.
defaultOperationName Specifies the default operationName that will be used by the CxfProducer which invokes the remote service.
defaultOperationNameSpace Specifies the default operationNamespace that will be used by the CxfProducer which invokes the remote service.
synchronousfalseSpecifies if the endpoint will use Apache CXF's synchronous APIs.
publishedEndpointUrl Override the endpointUrl that is published from the WSDL accessed with service's URL plus ?wsdl.

Related topics

Apache CXF
Apache CXF Documentation