camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache Camel > Camel Transport for CXF
Date Mon, 14 Jan 2013 07:27:00 GMT
<html>
<head>
    <base href="https://cwiki.apache.org/confluence">
            <link rel="stylesheet" href="/confluence/s/2042/9/1/_/styles/combined.css?spaceKey=CAMEL&amp;forWysiwyg=true"
type="text/css">
    </head>
<body style="background: white;" bgcolor="white" class="email-body">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
    <h2><a href="https://cwiki.apache.org/confluence/display/CAMEL/Camel+Transport+for+CXF">Camel
Transport for CXF</a></h2>
    <h4>Page <b>edited</b> by             <a href="https://cwiki.apache.org/confluence/display/~njiang">willem
jiang</a>
    </h4>
        <div id="versionComment">
        <b>Comment:</b>
        CAMEL-5933<br />
    </div>
        <br/>
                         <h4>Changes (5)</h4>
                                 
    
<div id="page-diffs">
                    <table class="diff" cellpadding="0" cellspacing="0">
    
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >h3. Setting up the Camel Transport
in Spring <br> <br></td></tr>
            <tr><td class="diff-changed-lines" >You can use the following snippet
in your applicationcontext if you want to configure anything special. If you only want to
activate the camel transport you do not have to do anything in your application context. As
soon as you include the <span class="diff-changed-words">camel-cxf<span class="diff-added-chars"style="background-color:
#dfd;">-transport</span></span> jar <span class="diff-added-words"style="background-color:
#dfd;">(or camel-cxf.jar if your camel version is less than 2.7.x)</span> in your
app cxf will scan the jar and load a CamelTransportFactory for you. <br></td></tr>
            <tr><td class="diff-unchanged" > <br>{code:xml} <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">&lt;!--
you don&#39;t need to specify the CamelTransportFactory configuration as it is auto load
by CXF bus --&gt; <br></td></tr>
            <tr><td class="diff-unchanged" >&lt;bean class=&quot;org.apache.camel.component.cxf.transport.CamelTransportFactory&quot;&gt;
<br>  &lt;property name=&quot;bus&quot; ref=&quot;cxf&quot; /&gt;
<br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >{code} <br> <br></td></tr>
            <tr><td class="diff-unchanged" >h2. Configure the destination and
conduit  <br></td></tr>
            <tr><td class="diff-unchanged" > <br>h3.Namespace <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >{code} <br> <br></td></tr>
            <tr><td class="diff-changed-lines" >The {{camel:destination}} element
<span class="diff-added-words"style="background-color: #dfd;">for Spring</span>
has a number of child elements that specify configuration information. They are described
below. <br></td></tr>
            <tr><td class="diff-unchanged" > <br>||Element||Description||
<br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >|{{camel:camelContextRef}}|The camel
context id which you want inject into the camel conduit| <br> <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">h2.
Configure the destination and conduit with Blueprint <br></td></tr>
            <tr><td class="diff-unchanged" > <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">From
*Camel 2.11.x*, Camel Transport supports to be configured with Blueprint <br> <br>If
you are using blueprint, you should use the the namespace {{http://cxf.apache.org/transports/camel/blueprint}}
and import the schema like the blow. <br>{code:title=Adding the Configuration Namespace
for blueprint} <br>&lt;beans ... <br>       xmlns:camel=&quot;http://cxf.apache.org/transports/camel/blueprint&quot;
<br>       ... <br>       xsi:schemaLocation=&quot;... <br>        
                  http://cxf.apache.org/transports/camel/blueprint  <br>           
               http://cxf.apache.org/schmemas/blueprint/camel.xsd <br>             
            ...&gt; <br>{code} <br> <br>In blueprint {{camel:conduit}}
{{camel:destination}} only has one camelContext attribute, they doesn&#39;t support to
specify the camel context in the camel destination. <br>{code} <br>  &lt;camel:conduit
id=&quot;*.camel-conduit&quot; camelContext=&quot;camel1&quot; /&gt; <br>
 &lt;camel:destination id=&quot;*.camel-destination&quot; camelContext=&quot;camel1&quot;
/&gt; <br>{code} <br> <br>h3.Namespace <br> <br>If you are
using blueprint, you should use the the namespace {{http://cxf.apache.org/transports/camel/blueprint}}
and import the schema like the blow. <br>{code:title=Adding the Configuration Namespace
for blueprint} <br>&lt;beans ... <br>       xmlns:camel=&quot;http://cxf.apache.org/transports/camel/blueprint&quot;
<br>       ... <br>       xsi:schemaLocation=&quot;... <br>        
                  http://cxf.apache.org/transports/camel/blueprint  <br>           
               http://cxf.apache.org/schmemas/blueprint/camel.xsd <br>             
            ...&gt; <br>{code} <br> <br>h3. the {{camel:conduit}} element
<br> <br> <br> <br> <br></td></tr>
            <tr><td class="diff-unchanged" >h2. Example Using Camel as a load
balancer for CXF <br> <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
    
            </table>
    </div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <h2><a name="CamelTransportforCXF-What%27stheCamelTransportforCXF"></a>What's
the Camel Transport for CXF</h2>

<p>In CXF you offer or consume a webservice by defining it´s address. The first part
of the address specifies the protocol to use. For example address="http://localhost:9000"
in an endpoint configuration means your service will be offered using the http protocol on
port 9000 of localhost. When you integrate Camel Tranport into CXF you get a new transport
"camel". So you can specify address="camel://direct:MyEndpointName" to bind the CXF service
address to a camel direct endpoint.</p>

<p>Technically speaking Camel transport for CXF is a component which implements the
<a href="http://cwiki.apache.org/CXF20DOC/cxf-architecture.html#CXFArchitecture-Transports"
class="external-link" rel="nofollow">CXF transport API</a> with the Camel core library.
This allows you to use camel´s routing engine and integration patterns support smoothly together
with your CXF services.</p>


<h2><a name="CamelTransportforCXF-IntegrateCamelintoCXFtransportlayer"></a>Integrate
Camel into CXF transport layer</h2>

<p>To include the Camel Tranport into your CXF bus you use the CamelTransportFactory.
You can do this in Java as well as in Spring.</p>

<h3><a name="CamelTransportforCXF-SettinguptheCamelTransportinSpring"></a>Setting
up the Camel Transport in Spring</h3>

<p>You can use the following snippet in your applicationcontext if you want to configure
anything special. If you only want to activate the camel transport you do not have to do anything
in your application context. As soon as you include the camel-cxf-transport jar (or camel-cxf.jar
if your camel version is less than 2.7.x) in your app cxf will scan the jar and load a CamelTransportFactory
for you. </p>

<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-xml">
<span class="code-tag"><span class="code-comment">&lt;!-- you don't need to
specify the CamelTransportFactory configuration as it is auto load by CXF bus --&gt;</span></span>
<span class="code-tag">&lt;bean class=<span class="code-quote">"org.apache.camel.component.cxf.transport.CamelTransportFactory"</span>&gt;</span>
  <span class="code-tag">&lt;property name=<span class="code-quote">"bus"</span>
ref=<span class="code-quote">"cxf"</span> /&gt;</span>
  <span class="code-tag">&lt;property name=<span class="code-quote">"camelContext"</span>
ref=<span class="code-quote">"camelContext"</span> /&gt;</span>
  <span class="code-tag"><span class="code-comment">&lt;!-- checkException
new added in Camel 2.1 and Camel 1.6.2 --&gt;</span></span>
  &lt;!-- If checkException is true , CamelDestination will check the outMessage's
     exception and set it into camel exchange. You can also override this value 
     in CamelDestination's configuration. The default value is false.
     This option should be set true when you want to leverage the camel's error 
     handler to deal with fault message --&gt;
  <span class="code-tag">&lt;property name=<span class="code-quote">"checkException"</span>
value=<span class="code-quote">"true"</span> /&gt;</span>
  <span class="code-tag">&lt;property name=<span class="code-quote">"transportIds"</span>&gt;</span>
    <span class="code-tag">&lt;list&gt;</span>
      <span class="code-tag">&lt;value&gt;</span>http://cxf.apache.org/transports/camel<span
class="code-tag">&lt;/value&gt;</span>
    <span class="code-tag">&lt;/list&gt;</span>
  <span class="code-tag">&lt;/property&gt;</span>
<span class="code-tag">&lt;/bean&gt;</span>
</pre>
</div></div>

<h3><a name="CamelTransportforCXF-IntegratingtheCamelTransportinaprogrammaticway"></a>Integrating
the Camel Transport in a programmatic way</h3>

<p>Camel transport provides a setContext method that you could use to set the Camel
context into the transport factory. If you want this factory take effect, you need to register
the factory into the CXF bus. Here is a full example for you.</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
<span class="code-keyword">import</span> org.apache.cxf.Bus;
<span class="code-keyword">import</span> org.apache.cxf.BusFactory;
<span class="code-keyword">import</span> org.apache.cxf.transport.ConduitInitiatorManager;
<span class="code-keyword">import</span> org.apache.cxf.transport.DestinationFactoryManager;
...

BusFactory bf = BusFactory.newInstance();
Bus bus = bf.createBus();
CamelTransportFactory camelTransportFactory = <span class="code-keyword">new</span>
CamelTransportFactory();
<span class="code-comment">// set up the CamelContext which will be use by the CamelTransportFactory
</span>camelTransportFactory.setCamelContext(context)
<span class="code-comment">// <span class="code-keyword">if</span> you are
using CXF higher then 2.4.x the 
</span>camelTransportFactory.setBus(bus);

<span class="code-comment">// <span class="code-keyword">if</span> you are
lower CXF, you need to register the ConduitInitiatorManager and DestinationFactoryManager
like below
</span><span class="code-comment">// register the conduit initiator
</span>ConduitInitiatorManager cim = bus.getExtension(ConduitInitiatorManager.class);
cim.registerConduitInitiator(CamelTransportFactory.TRANSPORT_ID, camelTransportFactory);
<span class="code-comment">// register the destination factory
</span>DestinationFactoryManager dfm = bus.getExtension(DestinationFactoryManager.class);
dfm.registerDestinationFactory(CamelTransportFactory.TRANSPORT_ID, camelTransportFactory);
<span class="code-comment">// set or bus as the <span class="code-keyword">default</span>
bus <span class="code-keyword">for</span> cxf
</span>BusFactory.setDefaultBus(bus);
</pre>
</div></div>

<h2><a name="CamelTransportforCXF-Configurethedestinationandconduit"></a>Configure
the destination and conduit </h2>

<h3><a name="CamelTransportforCXF-Namespace"></a>Namespace</h3>

<p>The elements used to configure an Camel transport endpoint are defined in the namespace
<tt><a href="http://cxf.apache.org/transports/camel" class="external-link" rel="nofollow">http://cxf.apache.org/transports/camel</a></tt>.
It is commonly referred to using the prefix <tt>camel</tt>. In order to use the
Camel transport configuration elements you will need to add the lines shown below to the beans
element of your endpoint's configuration file. In addition, you will need to add the configuration
elements' namespace to the <tt>xsi:schemaLocation</tt> attribute.</p>

<div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader"
style="border-bottom-width: 1px;"><b>Adding the Configuration Namespace</b></div><div
class="codeContent panelContent">
<pre class="code-java">
&lt;beans ...
       xmlns:camel="http:<span class="code-comment">//cxf.apache.org/transports/camel
</span>       ...
       xsi:schemaLocation="...
                           http:<span class="code-comment">//cxf.apache.org/transports/camel
</span>                           http:<span class="code-comment">//cxf.apache.org/transports/camel.xsd
</span>                          ...&gt;
</pre>
</div></div>

<h3><a name="CamelTransportforCXF-The%7B%7Bdestination%7D%7Delement"></a>The
<tt>destination</tt> element</h3>

<p>You configure an Camel transport server endpoint using the <tt>camel:destination</tt>
element and its children. The <tt>camel:destination</tt> element takes a single
attribute, <tt>name</tt>, the specifies the WSDL port element that corresponds
to the endpoint. The value for the <tt>name</tt> attribute takes the form <em>portQName</em><tt>.camel-destination</tt>.
The example below shows the <tt>camel:destination</tt> element that would be used
to add configuration for an endpoint that was specified by the WSDL fragment <tt>&lt;port
binding="widgetSOAPBinding" name="widgetSOAPPort&gt;</tt> if the endpoint's target
namespace was <tt><a href="http://widgets.widgetvendor.net" class="external-link"
rel="nofollow">http://widgets.widgetvendor.net</a></tt>.</p>

<div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader"
style="border-bottom-width: 1px;"><b>camel:destination Element</b></div><div
class="codeContent panelContent">
<pre class="code-java">

...
  &lt;camel:destination name="{http:<span class="code-comment">//widgets/widgetvendor.net}widgetSOAPPort.http-destination&gt;
</span>    &lt;camelContext id=<span class="code-quote">"context"</span>
xmlns=<span class="code-quote">"http:<span class="code-comment">//activemq.apache.org/camel/schema/spring"</span>&gt;
</span>         &lt;route&gt;
           &lt;from uri=<span class="code-quote">"direct:EndpointC"</span>
/&gt;
           &lt;to uri=<span class="code-quote">"direct:EndpointD"</span> /&gt;
         &lt;/route&gt;
     &lt;/camelContext&gt;
  &lt;/camel:destination&gt;
...
</pre>
</div></div>

<p>The <tt>camel:destination</tt> element for Spring has a number of child
elements that specify configuration information. They are described below.</p>

<div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'>Element</th>
<th class='confluenceTh'>Description</th>
</tr>
<tr>
<td class='confluenceTd'><tt>camel-spring:camelContext</tt></td>
<td class='confluenceTd'>You can specify the camel context in the camel destination</td>
</tr>
<tr>
<td class='confluenceTd'><tt>camel:camelContextRef</tt></td>
<td class='confluenceTd'>The camel context id which you want inject into the camel destination</td>
</tr>
</tbody></table>
</div>



<h3><a name="CamelTransportforCXF-The%7B%7Bconduit%7D%7Delement"></a>The
<tt>conduit</tt> element</h3>

<p>You configure an Camel transport client using the <tt>camel:conduit</tt>
element and its children. The <tt>camel:conduit</tt> element takes a single attribute,
<tt>name</tt>, that specifies the WSDL port element that corresponds to the endpoint.
The value for the <tt>name</tt> attribute takes the form <em>portQName</em><tt>.camel-conduit</tt>.
For example, the code below shows the <tt>camel:conduit</tt> element that would
be used to add configuration for an endpoint that was specified by the WSDL fragment <tt>&lt;port
binding="widgetSOAPBinding" name="widgetSOAPPort&gt;</tt> if the endpoint's target
namespace was <tt><a href="http://widgets.widgetvendor.net" class="external-link"
rel="nofollow">http://widgets.widgetvendor.net</a></tt>.</p>
<div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader"
style="border-bottom-width: 1px;"><b>http-conf:conduit Element</b></div><div
class="codeContent panelContent">
<pre class="code-xml">
...
  <span class="code-tag">&lt;camelContext id=<span class="code-quote">"conduit_context"</span>
xmlns=<span class="code-quote">"http://activemq.apache.org/camel/schema/spring"</span>&gt;</span>
       <span class="code-tag">&lt;route&gt;</span>
           <span class="code-tag">&lt;from uri=<span class="code-quote">"direct:EndpointA"</span>
/&gt;</span>
           <span class="code-tag">&lt;to uri=<span class="code-quote">"direct:EndpointB"</span>
/&gt;</span>
       <span class="code-tag">&lt;/route&gt;</span>
   <span class="code-tag">&lt;/camelContext&gt;</span>

  <span class="code-tag">&lt;camel:conduit name=<span class="code-quote">"{http://widgets/widgetvendor.net}widgetSOAPPort.camel-conduit"</span>&gt;</span>
     <span class="code-tag">&lt;camel:camelContextRef&gt;</span>conduit_context<span
class="code-tag">&lt;/camel:camelContextRef&gt;</span>
  <span class="code-tag">&lt;/camel:conduit&gt;</span>

  <span class="code-tag">&lt;camel:conduit name=<span class="code-quote">"*.camel-conduit"</span>&gt;</span>
  <span class="code-tag"><span class="code-comment">&lt;!-- you can also using
the wild card to specify the camel-conduit that you want to configure --&gt;</span></span>
    ...
  <span class="code-tag">&lt;/camel:conduit&gt;</span>
...
</pre>
</div></div>

<p>The <tt>camel:conduit</tt> element has a number of child elements that
specify configuration information. They are described below.</p>

<div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'>Element</th>
<th class='confluenceTh'>Description</th>
</tr>
<tr>
<td class='confluenceTd'><tt>camel-spring:camelContext</tt></td>
<td class='confluenceTd'>You can specify the camel context in the camel conduit</td>
</tr>
<tr>
<td class='confluenceTd'><tt>camel:camelContextRef</tt></td>
<td class='confluenceTd'>The camel context id which you want inject into the camel conduit</td>
</tr>
</tbody></table>
</div>


<h2><a name="CamelTransportforCXF-ConfigurethedestinationandconduitwithBlueprint"></a>Configure
the destination and conduit with Blueprint</h2>

<p>From <b>Camel 2.11.x</b>, Camel Transport supports to be configured with
Blueprint</p>

<p>If you are using blueprint, you should use the the namespace <tt><a href="http://cxf.apache.org/transports/camel/blueprint"
class="external-link" rel="nofollow">http://cxf.apache.org/transports/camel/blueprint</a></tt>
and import the schema like the blow.</p>
<div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader"
style="border-bottom-width: 1px;"><b>Adding the Configuration Namespace for blueprint</b></div><div
class="codeContent panelContent">
<pre class="code-java">
&lt;beans ...
       xmlns:camel=<span class="code-quote">"http:<span class="code-comment">//cxf.apache.org/transports/camel/blueprint"</span>
</span>       ...
       xsi:schemaLocation="...
                           http:<span class="code-comment">//cxf.apache.org/transports/camel/blueprint

</span>                           http:<span class="code-comment">//cxf.apache.org/schmemas/blueprint/camel.xsd
</span>                          ...&gt;
</pre>
</div></div>

<p>In blueprint <tt>camel:conduit</tt> <tt>camel:destination</tt>
only has one camelContext attribute, they doesn't support to specify the camel context in
the camel destination.</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
  &lt;camel:conduit id=<span class="code-quote">"*.camel-conduit"</span> camelContext=<span
class="code-quote">"camel1"</span> /&gt;
  &lt;camel:destination id=<span class="code-quote">"*.camel-destination"</span>
camelContext=<span class="code-quote">"camel1"</span> /&gt;
</pre>
</div></div>

<h3><a name="CamelTransportforCXF-Namespace"></a>Namespace</h3>

<p>If you are using blueprint, you should use the the namespace <tt><a href="http://cxf.apache.org/transports/camel/blueprint"
class="external-link" rel="nofollow">http://cxf.apache.org/transports/camel/blueprint</a></tt>
and import the schema like the blow.</p>
<div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader"
style="border-bottom-width: 1px;"><b>Adding the Configuration Namespace for blueprint</b></div><div
class="codeContent panelContent">
<pre class="code-java">
&lt;beans ...
       xmlns:camel=<span class="code-quote">"http:<span class="code-comment">//cxf.apache.org/transports/camel/blueprint"</span>
</span>       ...
       xsi:schemaLocation="...
                           http:<span class="code-comment">//cxf.apache.org/transports/camel/blueprint

</span>                           http:<span class="code-comment">//cxf.apache.org/schmemas/blueprint/camel.xsd
</span>                          ...&gt;
</pre>
</div></div>

<h3><a name="CamelTransportforCXF-the%7B%7Bcamel%3Aconduit%7D%7Delement"></a>the
<tt>camel:conduit</tt> element</h3>




<h2><a name="CamelTransportforCXF-ExampleUsingCamelasaloadbalancerforCXF"></a>Example
Using Camel as a load balancer for CXF</h2>

<p>This example show how to use the camel load balance feature in CXF, and you need
load the configuration file in CXF and publish the endpoints on the address "camel://direct:EndpointA"
and "camel://direct:EndpointB"</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-xml">&lt;beans xmlns=<span class="code-quote">"http://www.springframework.org/schema/beans"</span>
       <span class="code-keyword">xmlns:xsi</span>=<span class="code-quote">"http://www.w3.org/2001/XMLSchema-instance"</span>
       <span class="code-keyword">xmlns:camel</span>=<span class="code-quote">"http://cxf.apache.org/transports/camel"</span>
       xsi:schemaLocation="
       http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://cxf.apache.org/transports/camel http://cxf.apache.org/transports/camel.xsd
       http://camel.apache.org/schema/cxf http://camel.apache.org/schema/cxf/cxfEndpoint.xsd
       http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
    "&gt;
    
   &lt;!-- Enable bridge between Camel Property Placeholder and Spring Property placeholder
so we can use system properties
       to dynamically set the port number for unit testing the example.  --&gt;
   <span class="code-tag">&lt;bean id=<span class="code-quote">"bridgePropertyPlaceholder"</span>
class=<span class="code-quote">"org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer"</span>/&gt;</span>

   <span class="code-tag">&lt;bean id = <span class="code-quote">"roundRobinRef"</span>
class=<span class="code-quote">"org.apache.camel.processor.loadbalancer.RoundRobinLoadBalancer"</span>
/&gt;</span>

   <span class="code-tag">&lt;camelContext id=<span class="code-quote">"dest_context"</span>
xmlns=<span class="code-quote">"http://camel.apache.org/schema/spring"</span>&gt;</span>
       <span class="code-tag">&lt;route&gt;</span>
            <span class="code-tag">&lt;from uri=<span class="code-quote">"jetty:http://localhost:{{port}}/GreeterContext/GreeterPort"</span>/&gt;</span>
            <span class="code-tag">&lt;loadBalance ref=<span class="code-quote">"roundRobinRef"</span>&gt;</span>
              <span class="code-tag">&lt;to uri=<span class="code-quote">"direct:EndpointA"</span>/&gt;</span>
              <span class="code-tag">&lt;to uri=<span class="code-quote">"direct:EndpointB"</span>/&gt;</span>
            <span class="code-tag">&lt;/loadBalance&gt;</span>
        <span class="code-tag">&lt;/route&gt;</span>
   <span class="code-tag">&lt;/camelContext&gt;</span>

   <span class="code-tag"><span class="code-comment">&lt;!-- Inject the camel
context to the Camel transport's destination --&gt;</span></span>
   <span class="code-tag">&lt;camel:destination name=<span class="code-quote">"{http://apache.org/hello_world_soap_http}CamelPort.camel-destination"</span>&gt;</span>
        <span class="code-tag">&lt;camel:camelContextRef&gt;</span>dest_context<span
class="code-tag">&lt;/camel:camelContextRef&gt;</span>
   <span class="code-tag">&lt;/camel:destination&gt;</span>

<span class="code-tag">&lt;/beans&gt;</span>
</pre>
</div></div>

<h2><a name="CamelTransportforCXF-CompleteHowtoandExampleforattachingCameltoCXF"></a>Complete
Howto and Example for attaching Camel to CXF</h2>

<p><a href="/confluence/display/CAMEL/Better+JMS+Transport+for+CXF+Webservice+using+Apache+Camel"
title="Better JMS Transport for CXF Webservice using Apache Camel">Better JMS Transport
for CXF Webservice using Apache Camel</a>&nbsp;</p>
    </div>
        <div id="commentsSection" class="wiki-content pageSection">
        <div style="float: right;">
            <a href="https://cwiki.apache.org/confluence/users/viewnotifications.action"
class="grey">Change Notification Preferences</a>
        </div>
        <a href="https://cwiki.apache.org/confluence/display/CAMEL/Camel+Transport+for+CXF">View
Online</a>
        |
        <a href="https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=78601&revisedVersion=20&originalVersion=19">View
Changes</a>
                |
        <a href="https://cwiki.apache.org/confluence/display/CAMEL/Camel+Transport+for+CXF?showComments=true&amp;showCommentArea=true#addcomment">Add
Comment</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>

Mime
View raw message