camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r955302 [2/2] - in /websites/production/camel/content: book-component-appendix.html book-in-one-page.html cache/main.pageCache cxf.html
Date Thu, 18 Jun 2015 19:20:59 GMT
Modified: websites/production/camel/content/cxf.html
==============================================================================
--- websites/production/camel/content/cxf.html (original)
+++ websites/production/camel/content/cxf.html Thu Jun 18 19:20:59 2015
@@ -99,11 +99,11 @@
                     </div>
     </div>
 <p>The <strong>cxf:</strong> component provides integration with <a shape="rect" href="http://cxf.apache.org">Apache CXF</a> for connecting to JAX-WS services hosted in CXF.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1430792485006 {padding: 0px;}
-div.rbtoc1430792485006 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1430792485006 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1434655155330 {padding: 0px;}
+div.rbtoc1434655155330 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1434655155330 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1430792485006">
+/*]]>*/</style></p><div class="toc-macro rbtoc1434655155330">
 <ul class="toc-indentation"><li><a shape="rect" href="#CXF-CXFComponent">CXF Component</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#CXF-URIformat">URI format</a></li><li><a shape="rect" href="#CXF-Options">Options</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#CXF-Thedescriptionsofthedataformats">The descriptions of the dataformats</a>
@@ -137,7 +137,7 @@ div.rbtoc1430792485006 li {margin-left:
 </div></div><p>Where <strong>someAddress</strong> specifies the CXF endpoint's address. With this URI format, most of the endpoint details are specified using options.</p><p>For either style above, you can append options to the URI as follows:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[cxf:bean:cxfEndpoint?wsdlURL=wsdl/hello_world.wsdl&amp;dataFormat=PAYLOAD
 ]]></script>
-</div></div><h3 id="CXF-Options">Options</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Required</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>wsdlURL</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The location of the WSDL. It is obtained from endpoint address by default. <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <em>Example</em>: <a shape="rect" class="external-link" href="file://local/wsdl/hello.wsdl" rel="nofollow">file://local/wsdl/hello.wsdl</a> or <code>wsdl/hello.wsdl</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>serviceClass</code></p></td><td colspan="1" rowspan="1" class="
 confluenceTd"><p>Yes</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The name of the SEI (Service Endpoint Interface) class. This class can have, but does not require, JSR181 annotations. <br clear="none" class="atl-forced-newline"> This option is only required by POJO mode. If the wsdlURL option is provided, serviceClass is not required for PAYLOAD and MESSAGE mode. When wsdlURL option is used without serviceClass, the serviceName and portName (endpointName for Spring configuration) options <strong>MUST</strong> be provided. It is possible to use <code>#</code> notation to reference a <code>serviceClass</code> object instance from the registry. E.g. <code>serviceClass=#beanName</code>. The <code>serviceClass</code> for a CXF producer (that is, the <code>to</code> endpoint) should be a Java interface.<br clear="none" class="atl-forced-newline"> <strong>Since 2.8,</strong> it is possible to omit both wsdlURL and serviceClass options for PAYLOAD and MESSAGE mode. When they
  are omitted, arbitrary XML elements can be put in CxfPayload's body in PAYLOAD mode to facilitate CXF Dispatch Mode. <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> Please be advised that the <strong>referenced object cannot be a Proxy</strong> (Spring AOP Proxy is OK) as it relies on <code>Object.getClass().getName()</code> method for non Spring AOP Proxy. <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <em>Example</em>: <code>org.apache.camel.Hello</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>serviceName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The service name this service is implementing, it maps to the <code>wsdl:service@name</code>. <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <strong>Required</strong> for camel-cxf consumer 
 since camel-2.2.0 or if more than one <code>serviceName</code> is present in WSDL. <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <em>Example</em>: {http:&#173;//org.apache.camel}ServiceName</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>endpointName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The port name this service is implementing, it maps to the <code>wsdl:port@name</code>. <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <strong>Required</strong> for camel-cxf consumer since camel-2.2.0 or if more than one <code>portName</code> is present under <code>serviceName</code>. <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <em>Example</em>: {http:&#173;//org.apache.camel}PortName</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><
 p><code>dataFormat</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The data type messages supported by the CXF endpoint. <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <em>Default</em>: <code>POJO</code> <br clear="none" class="atl-forced-newline"> <em>Example</em>: <code>POJO</code>, <code>PAYLOAD</code>, <code>MESSAGE</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>relayHeaders</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Please see the <strong>Description of</strong> <code><strong>relayHeaders</strong></code> <strong>option</strong> section for this option. Should a CXF endpoint relay headers along the route. Currently only available when <code>dataFormat=POJO</code> <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-f
 orced-newline"> <em>Default</em>: <code>true</code> <br clear="none" class="atl-forced-newline"> <em>Example</em>: <code>true</code>, <code>false</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>wrapped</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Which kind of operation that CXF endpoint producer will invoke <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <em>Default</em>: <code>false</code> <br clear="none" class="atl-forced-newline"> <em>Example</em>: <code>true</code>, <code>false</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>wrappedStyle</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>New in 2.5.0</strong> The WSDL style that describes how parameters are represented in the SOAP body. If the value 
 is false, CXF will chose the document-literal unwrapped style, If the value is true, CXF will chose the document-literal wrapped style <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <em>Default</em>: <code>Null</code> <br clear="none" class="atl-forced-newline"> <em>Example</em>: <code>true</code>, <code>false</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>setDefaultBus</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Will set the default bus when CXF endpoint create a bus by itself <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <em>Default</em>: <code>false</code> <br clear="none" class="atl-forced-newline"> <em>Example</em>: <code>true</code>, <code>false</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>bus</code></p></td><td colspan="1" rowspan="1" 
 class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A default bus created by CXF Bus Factory. Use <code>#</code> notation to reference a bus object from the registry. The referenced object must be an instance of <code>org.apache.cxf.Bus</code>. <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <em>Example</em>: <code>bus=#busName</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>cxfBinding</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Use <code>#</code> notation to reference a CXF binding object from the registry. The referenced object must be an instance of <code>org.apache.camel.component.cxf.CxfBinding</code> (use an instance of <code>org.apache.camel.component.cxf.DefaultCxfBinding</code>). <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <em>Example<
 /em>: <code>cxfBinding=#bindingName</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>headerFilterStrategy</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Use <code>#</code> notation to reference a header filter strategy object from the registry. The referenced object must be an instance of <code>org.apache.camel.spi.HeaderFilterStrategy</code> (use an instance of <code>org.apache.camel.component.cxf.CxfHeaderFilterStrategy</code>). <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <em>Example</em>: <code>headerFilterStrategy=#strategyName</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>loggingFeatureEnabled</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New in 2.3. This option enables CXF Logging Feature which write
 s inbound and outbound SOAP messages to log. <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <em>Default</em>: <code>false</code> <br clear="none" class="atl-forced-newline"> <em>Example</em>: <code>loggingFeatureEnabled</code><code>=true</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>defaultOperationName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New in 2.4, this option will set the default operationName that will be used by the CxfProducer which invokes the remote service. <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <em>Default</em>: <code>null</code> <br clear="none" class="atl-forced-newline"> <em>Example</em>: <code>defaultOperationName</code><code>=greetMe</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>defaultOperationNamespace</code></
 p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New in 2.4. This option will set the default operationNamespace that will be used by the CxfProducer which invokes the remote service. <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <em>Default</em>: <code>null</code> <br clear="none" class="atl-forced-newline"> <em>Example</em>: <code>defaultOperationNamespace</code><code>=</code><code><a shape="rect" class="external-link" href="http://apache.org/hello_world_soap_http">http://apache.org/hello_world_soap_http</a></code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>synchronous</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New in 2.5. This option will let cxf endpoint decide to use sync or async API to do the underlying work. The default value is false which me
 ans camel-cxf endpoint will try to use async API by default. <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <em>Default</em>: <code>false</code> <br clear="none" class="atl-forced-newline"> <em>Example</em>: synchronous=true</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>publishedEndpointUrl</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New in 2.5. This option can override the endpointUrl that published from the WSDL which can be accessed with service address url plus ?wsdl. <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <em>Default</em>: <code>null</code> <br clear="none" class="atl-forced-newline"> <em>Example</em>: publshedEndpointUrl=<a shape="rect" class="external-link" href="http://example.com/service" rel="nofollow">http://example.com/service</a></p></td></tr><tr><td colspan="1" ro
 wspan="1" class="confluenceTd"><p><code>properties.XXX</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> Allows to set custom properties to CXF in the endpoint uri. For example setting <code>properties.mtom-enabled=true</code> to enable MTOM. <code style="line-height: 1.4285715;">properties.org.apache.cxf.interceptor.OneWayProcessorInterceptor.USE_ORIGINAL_THREAD=true </code><span style="line-height: 1.4285715;">just make sure the CXF doesn't switch the thread when start the invocation.</span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>allowStreaming</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New in <strong>Camel 2.8.2</strong>. This option controls whether the CXF component, when running in PAYLOAD mode (see below), will DOM parse the incoming messages into D
 OM Elements or keep the payload as a javax.xml.transform.Source object that would allow streaming in some cases.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>skipFaultLogging</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New in <strong>Camel 2.11</strong>. This option controls whether the PhaseInterceptorChain skips logging the Fault that it catches.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="line-height: 1.4285715;"><code>cxfEndpointConfigurer</code><br clear="none"></span></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New in <strong>Camel 2.11</strong>. This option could apply the implementation of <code><span>org.apache.camel.component.cxf.CxfEndpointConfigurer which </span></code><span>supports to configure the CXF endpoint in </span><span>&#160;program
 matic way. </span><span style="line-height: 1.4285715;">Since </span><strong style="line-height: 1.4285715;">Camel 2.15.0, </strong>user can configure the CXF server and client by implementing configure{Server|Client} method of <span><code>CxfEndpointConfigurer</code>.</span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>username</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New in <strong>Camel 2.12.3</strong> This option is used to set the basic authentication information of username for the CXF client.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>password</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New in <strong>Camel 2.12.3</strong> This option is used to set the basic authentication information of password for the CXF client.</p></td></tr><tr><td colsp
 an="1" rowspan="1" class="confluenceTd"><p><code>continuationTimeout</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New in <strong>Camel 2.14.0 </strong>This option is used to set the CXF continuation timeout which could be used in CxfConsumer by default when the CXF server is using Jetty or Servlet transport. (Before <strong>Camel 2.14.0</strong>, CxfConsumer just set the continuation timeout to be 0, which means the continuation suspend operation never timeout.)</p><p><em> Default</em>: <span style="font-family: monospace;">30000</span><br clear="none" class="atl-forced-newline">&#160;<em>Example</em>: continuation=80000</p></td></tr></tbody></table></div><p>The <code>serviceName</code> and <code>portName</code> are <a shape="rect" class="external-link" href="http://en.wikipedia.org/wiki/QName" rel="nofollow">QNames</a>, so if you provide them be sure to prefix them with their {namespace} as shown i
 n the examples above.</p><h4 id="CXF-Thedescriptionsofthedataformats">The descriptions of the dataformats</h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>DataFormat</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>POJO</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>POJOs (Plain old Java objects) are the Java parameters to the method being invoked on the target server. Both Protocol and Logical JAX-WS handlers are supported.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>PAYLOAD</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>PAYLOAD</code> is the message payload (the contents of the <code>soap:body</code>) after message configuration in the CXF endpoint is applied. Only Protocol JAX-WS handler is supported. Logical JAX-WS handler is not suppo
 rted.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MESSAGE</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MESSAGE</code> is the raw message that is received from the transport layer. It is not suppose to touch or change Stream, some of the CXF interceptors will be removed if you are using this kind of DataFormat so you can't see any soap headers after the camel-cxf consumer and JAX-WS handler is not supported.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CXF_MESSAGE</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New in <strong>Camel 2.8.2</strong>, <code>CXF_MESSAGE</code> allows for invoking the full capabilities of CXF interceptors by converting the message from the transport layer into a raw SOAP message</p></td></tr></tbody></table></div><p>You can determine the data format mode of an exchange by retrieving the exchange property, <code>CamelCXFDataFormat</code>. The exchange
  key constant is defined in <code>org.apache.camel.component.cxf.CxfConstants.DATA_FORMAT_PROPERTY</code>.</p><h5 id="CXF-HowtoenableCXF'sLoggingOutInterceptorinMESSAGEmode">How to enable CXF's LoggingOutInterceptor in MESSAGE mode</h5><p>CXF's <code>LoggingOutInterceptor</code> outputs outbound message that goes on the wire to logging system (Java Util Logging). Since the <code>LoggingOutInterceptor</code> is in <code>PRE_STREAM</code> phase (but <code>PRE_STREAM</code> phase is removed in <code>MESSAGE</code> mode), you have to configure <code>LoggingOutInterceptor</code> to be run during the <code>WRITE</code> phase. The following is an example.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="CXF-Options">Options</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Required</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>wsdlURL</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The location of the WSDL. It is obtained from endpoint address by default. <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <em>Example</em>: <a shape="rect" class="external-link" href="file://local/wsdl/hello.wsdl" rel="nofollow">file://local/wsdl/hello.wsdl</a> or <code>wsdl/hello.wsdl</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>serviceClass</code></p></td><td colspan="1" rowspan="1" class="
 confluenceTd"><p>Yes</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The name of the SEI (Service Endpoint Interface) class. This class can have, but does not require, JSR181 annotations. <br clear="none" class="atl-forced-newline"> This option is only required by POJO mode. If the wsdlURL option is provided, serviceClass is not required for PAYLOAD and MESSAGE mode. When wsdlURL option is used without serviceClass, the serviceName and portName (endpointName for Spring configuration) options <strong>MUST</strong> be provided. It is possible to use <code>#</code> notation to reference a <code>serviceClass</code> object instance from the registry. E.g. <code>serviceClass=#beanName</code>. The <code>serviceClass</code> for a CXF producer (that is, the <code>to</code> endpoint) should be a Java interface.<br clear="none" class="atl-forced-newline"> <strong>Since 2.8,</strong> it is possible to omit both wsdlURL and serviceClass options for PAYLOAD and MESSAGE mode. When they
  are omitted, arbitrary XML elements can be put in CxfPayload's body in PAYLOAD mode to facilitate CXF Dispatch Mode. <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> Please be advised that the <strong>referenced object cannot be a Proxy</strong> (Spring AOP Proxy is OK) as it relies on <code>Object.getClass().getName()</code> method for non Spring AOP Proxy. <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <em>Example</em>: <code>org.apache.camel.Hello</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>serviceName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The service name this service is implementing, it maps to the <code>wsdl:service@name</code>. <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <strong>Required</strong> for camel-cxf consumer 
 since camel-2.2.0 or if more than one <code>serviceName</code> is present in WSDL. <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <em>Example</em>: {http:&#173;//org.apache.camel}ServiceName</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>endpointName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The port name this service is implementing, it maps to the <code>wsdl:port@name</code>. <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <strong>Required</strong> for camel-cxf consumer since camel-2.2.0 or if more than one <code>portName</code> is present under <code>serviceName</code>. <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <em>Example</em>: {http:&#173;//org.apache.camel}PortName</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><
 p><code>dataFormat</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The data type messages supported by the CXF endpoint. <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <em>Default</em>: <code>POJO</code> <br clear="none" class="atl-forced-newline"> <em>Example</em>: <code>POJO</code>, <code>PAYLOAD</code>, <code>MESSAGE</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>relayHeaders</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Please see the <strong>Description of</strong> <code><strong>relayHeaders</strong></code> <strong>option</strong> section for this option. Should a CXF endpoint relay headers along the route. Currently only available when <code>dataFormat=POJO</code> <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-f
 orced-newline"> <em>Default</em>: <code>true</code> <br clear="none" class="atl-forced-newline"> <em>Example</em>: <code>true</code>, <code>false</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>wrapped</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Which kind of operation that CXF endpoint producer will invoke <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <em>Default</em>: <code>false</code> <br clear="none" class="atl-forced-newline"> <em>Example</em>: <code>true</code>, <code>false</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>wrappedStyle</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>New in 2.5.0</strong> The WSDL style that describes how parameters are represented in the SOAP body. If the value 
 is false, CXF will chose the document-literal unwrapped style, If the value is true, CXF will chose the document-literal wrapped style <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <em>Default</em>: <code>Null</code> <br clear="none" class="atl-forced-newline"> <em>Example</em>: <code>true</code>, <code>false</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>setDefaultBus</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Deprecated</strong> Will set the default bus when CXF endpoint create a bus by itself. This option is deprecated use defaultBus from Camel 2.16 onwards.<br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <em>Default</em>: <code>false</code> <br clear="none" class="atl-forced-newline"> <em>Example</em>: <code>true</code>, <code>false</code></p></td></tr><tr><td colspan
 ="1" rowspan="1" class="confluenceTd"><span><code>defaultBus</code><br clear="none"></span></td><td colspan="1" rowspan="1" class="confluenceTd">No</td><td colspan="1" rowspan="1" class="confluenceTd"><p><span><strong>Camel 2.16:</strong> Will set the default bus when CXF endpoint create a bus by itself </span></p><p><span><span>&#160;</span><em>Default</em><span>: </span><code>false</code><span>&#160;</span><br clear="none" class="atl-forced-newline"><span>&#160;</span><em>Example</em><span>: </span><code>true</code><span>, </span><code>false</code></span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>bus</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A default bus created by CXF Bus Factory. Use <code>#</code> notation to reference a bus object from the registry. The referenced object must be an instance of <code>org.apache.cxf.Bus</code>. <br clear="none" class="atl-for
 ced-newline"> <br clear="none" class="atl-forced-newline"> <em>Example</em>: <code>bus=#busName</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>cxfBinding</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Use <code>#</code> notation to reference a CXF binding object from the registry. The referenced object must be an instance of <code>org.apache.camel.component.cxf.CxfBinding</code> (use an instance of <code>org.apache.camel.component.cxf.DefaultCxfBinding</code>). <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <em>Example</em>: <code>cxfBinding=#bindingName</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>headerFilterStrategy</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Use <code>#</code> notation to reference a
  header filter strategy object from the registry. The referenced object must be an instance of <code>org.apache.camel.spi.HeaderFilterStrategy</code> (use an instance of <code>org.apache.camel.component.cxf.CxfHeaderFilterStrategy</code>). <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <em>Example</em>: <code>headerFilterStrategy=#strategyName</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>loggingFeatureEnabled</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New in 2.3. This option enables CXF Logging Feature which writes inbound and outbound SOAP messages to log. <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <em>Default</em>: <code>false</code> <br clear="none" class="atl-forced-newline"> <em>Example</em>: <code>loggingFeatureEnabled</code><code>=true</code></p></td></tr><tr><td co
 lspan="1" rowspan="1" class="confluenceTd"><p><code>defaultOperationName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New in 2.4, this option will set the default operationName that will be used by the CxfProducer which invokes the remote service. <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <em>Default</em>: <code>null</code> <br clear="none" class="atl-forced-newline"> <em>Example</em>: <code>defaultOperationName</code><code>=greetMe</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>defaultOperationNamespace</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New in 2.4. This option will set the default operationNamespace that will be used by the CxfProducer which invokes the remote service. <br clear="none" class="atl-forced-newline"> <br clear
 ="none" class="atl-forced-newline"> <em>Default</em>: <code>null</code> <br clear="none" class="atl-forced-newline"> <em>Example</em>: <code>defaultOperationNamespace</code><code>=</code><code><a shape="rect" class="external-link" href="http://apache.org/hello_world_soap_http">http://apache.org/hello_world_soap_http</a></code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>synchronous</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New in 2.5. This option will let cxf endpoint decide to use sync or async API to do the underlying work. The default value is false which means camel-cxf endpoint will try to use async API by default. <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <em>Default</em>: <code>false</code> <br clear="none" class="atl-forced-newline"> <em>Example</em>: synchronous=true</p></td></tr><tr><td colspan="1" rowspan="1
 " class="confluenceTd"><p><code>publishedEndpointUrl</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New in 2.5. This option can override the endpointUrl that published from the WSDL which can be accessed with service address url plus ?wsdl. <br clear="none" class="atl-forced-newline"> <br clear="none" class="atl-forced-newline"> <em>Default</em>: <code>null</code> <br clear="none" class="atl-forced-newline"> <em>Example</em>: publshedEndpointUrl=<a shape="rect" class="external-link" href="http://example.com/service" rel="nofollow">http://example.com/service</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>properties.XXX</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> Allows to set custom properties to CXF in the endpoint uri. For example setting <code>properties.m
 tom-enabled=true</code> to enable MTOM. <code style="line-height: 1.4285715;">properties.org.apache.cxf.interceptor.OneWayProcessorInterceptor.USE_ORIGINAL_THREAD=true </code><span style="line-height: 1.4285715;">just make sure the CXF doesn't switch the thread when start the invocation.</span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>allowStreaming</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New in <strong>Camel 2.8.2</strong>. This option controls whether the CXF component, when running in PAYLOAD mode (see below), will DOM parse the incoming messages into DOM Elements or keep the payload as a javax.xml.transform.Source object that would allow streaming in some cases.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>skipFaultLogging</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" 
 class="confluenceTd"><p>New in <strong>Camel 2.11</strong>. This option controls whether the PhaseInterceptorChain skips logging the Fault that it catches.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="line-height: 1.4285715;"><code>cxfEndpointConfigurer</code><br clear="none"></span></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New in <strong>Camel 2.11</strong>. This option could apply the implementation of <code><span>org.apache.camel.component.cxf.CxfEndpointConfigurer which </span></code><span>supports to configure the CXF endpoint in </span><span>&#160;programmatic way. </span><span style="line-height: 1.4285715;">Since </span><strong style="line-height: 1.4285715;">Camel 2.15.0, </strong>user can configure the CXF server and client by implementing configure{Server|Client} method of <span><code>CxfEndpointConfigurer</code>.</span></p></td></tr><tr><td colspan="1" r
 owspan="1" class="confluenceTd"><p><code>username</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New in <strong>Camel 2.12.3</strong> This option is used to set the basic authentication information of username for the CXF client.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>password</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New in <strong>Camel 2.12.3</strong> This option is used to set the basic authentication information of password for the CXF client.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>continuationTimeout</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>No</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New in <strong>Camel 2.14.0 </strong>This option is used to set the CXF continuation timeout which could be used
  in CxfConsumer by default when the CXF server is using Jetty or Servlet transport. (Before <strong>Camel 2.14.0</strong>, CxfConsumer just set the continuation timeout to be 0, which means the continuation suspend operation never timeout.)</p><p><em> Default</em>: <span style="font-family: monospace;">30000</span><br clear="none" class="atl-forced-newline">&#160;<em>Example</em>: continuation=80000</p></td></tr></tbody></table></div><p>The <code>serviceName</code> and <code>portName</code> are <a shape="rect" class="external-link" href="http://en.wikipedia.org/wiki/QName" rel="nofollow">QNames</a>, so if you provide them be sure to prefix them with their {namespace} as shown in the examples above.</p><h4 id="CXF-Thedescriptionsofthedataformats">The descriptions of the dataformats</h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>DataFormat</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description<
 /p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>POJO</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>POJOs (Plain old Java objects) are the Java parameters to the method being invoked on the target server. Both Protocol and Logical JAX-WS handlers are supported.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>PAYLOAD</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>PAYLOAD</code> is the message payload (the contents of the <code>soap:body</code>) after message configuration in the CXF endpoint is applied. Only Protocol JAX-WS handler is supported. Logical JAX-WS handler is not supported.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MESSAGE</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MESSAGE</code> is the raw message that is received from the transport layer. It is not suppose to touch or change Stream, some of the CXF interceptor
 s will be removed if you are using this kind of DataFormat so you can't see any soap headers after the camel-cxf consumer and JAX-WS handler is not supported.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CXF_MESSAGE</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New in <strong>Camel 2.8.2</strong>, <code>CXF_MESSAGE</code> allows for invoking the full capabilities of CXF interceptors by converting the message from the transport layer into a raw SOAP message</p></td></tr></tbody></table></div><p>You can determine the data format mode of an exchange by retrieving the exchange property, <code>CamelCXFDataFormat</code>. The exchange key constant is defined in <code>org.apache.camel.component.cxf.CxfConstants.DATA_FORMAT_PROPERTY</code>.</p><h5 id="CXF-HowtoenableCXF'sLoggingOutInterceptorinMESSAGEmode">How to enable CXF's LoggingOutInterceptor in MESSAGE mode</h5><p>CXF's <code>LoggingOutInterceptor</code> outputs outbound message that g
 oes on the wire to logging system (Java Util Logging). Since the <code>LoggingOutInterceptor</code> is in <code>PRE_STREAM</code> phase (but <code>PRE_STREAM</code> phase is removed in <code>MESSAGE</code> mode), you have to configure <code>LoggingOutInterceptor</code> to be run during the <code>WRITE</code> phase. The following is an example.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
    &lt;bean id=&quot;loggingOutInterceptor&quot; class=&quot;org.apache.cxf.interceptor.LoggingOutInterceptor&quot;&gt;
         &lt;!--  it really should have been user-prestream but CXF does have such phase! --&gt;



Mime
View raw message