Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

...

CXF

...

Bean

...

Component

...

The

...

cxfbean:

...

component

...

allows

...

other

...

Camel

...

endpoints

...

to

...

send

...

exchange

...

and

...

invoke

...

Web

...

service

...

bean

...

objects.

...

(

...

Currently,

...

it

...

only

...

supports

...

JAXRS,

...

JAXWS(new

...

to

...

camel2.1)

...

annotated

...

service

...

bean.

...

)

Info

CxfBeanEndpoint is a ProcessorEndpoint so it has no consumers. It works similarly to a Bean component.

URI format

Code Block


{info}
{{CxfBeanEndpoint}} is a {{ProcessorEndpoint}} so it has no consumers.  It works similarly to a Bean component.
{info}

h3. URI format

{code}
cxfbean:serviceBeanRef

Where serviceBeanRef is a registry key to look up the service bean object. If serviceBeanRef references a List object, elements of the List are the service bean objects accepted by the endpoint.

Options

Wiki Markup
{code}
Where *serviceBeanRef* is a registry key to look up the service bean object. If {{serviceBeanRef}} references a {{List}} object, elements of the {{List}} are the service bean objects accepted by the endpoint.

h3. Options
{div:class=confluenceTableSmall}
|| Name || Description || Example || Required? || Default Value ||
| {{bus}} | CXF bus reference specified by the {{\#}} notation. The referenced object must be an instance of {{org.apache.cxf.Bus}}. | {{bus=#busName}} | No | Default bus created by CXF Bus Factory |
| {{cxfBeanBinding}} | CXF bean binding specified by the {{\#}} notation.  The referenced object must be an instance of {{org.apache.camel.component.cxf.cxfbean.CxfBeanBinding}}. | {{cxfBinding=#bindingName}} | No | {{DefaultCxfBeanBinding}} |
| {{headerFilterStrategy}} | Header filter strategy specified by the {{\#}} notation.  The referenced object must be an instance of {{org.apache.camel.spi.HeaderFilterStrategy}}. | {{headerFilterStrategy=#strategyName}} | No | {{CxfHeaderFilterStrategy}} |
| {{populateFromClass}}\\ | Since 2.3, the wsdlLocation annotated in the POJO is ignored (by default) unless this option is set to  {{false.}} Prior to 2.3, the wsdlLocation annotated in the POJO is always honored and it is not possible to ignore.\\ | {{true}}, {{false}}| No | {{true}} |
| {{providers}} | Since 2.5, setting the providers for the CXFRS endpoint. |{{providers=#providerRef1,#providerRef2}}| No | {{null}}|
| {{setDefaultBus}} | Will set the default bus when CXF endpoint create a bus by itself. | {{true}}, {{false}} | No | {{false}} |
{div}

h3. Headers

Headers

Wiki Markup
{div:class=confluenceTableSmall}
|| Name || Description || Type || Required? || Default Value || In/Out || Examples ||
| {{CamelHttpCharacterEncoding}} (before 2.0-m2: {{CamelCxfBeanCharacterEncoding}}) | Character encoding | {{String}} | No | None | In | ISO-8859-1 |
| {{CamelContentType}} (before 2.0-m2: {{CamelCxfBeanContentType}}) | Content type | {{String}} | No | \**/*\* | In | {{text/xml}} |
| CamelHttpBaseUri \\
(2.0-m3 and before: {{CamelCxfBeanRequestBasePath}}) | The value of this header will be set in the CXF message as the {{Message.BASE_PATH}} property.  It is needed by CXF JAX-RS processing.  Basically, it is the scheme, host and port portion of the request URI. | {{String}} | Yes | The Endpoint URI of the source endpoint in the Camel exchange | In | [http://localhost:9000] |
| {{CamelHttpPath}} (before 2.0-m2: {{CamelCxfBeanRequestPat{}}}h) | Request URI's path | {{String}} | Yes | None | In | {{consumer/123}} |
| {{CamelHttpMethod}} (before 2.0-m2: {{CamelCxfBeanVerb}}) | RESTful request verb | {{String}} | Yes | None | In | {{GET}}, {{PUT}}, {{POST}}, {{DELETE}} |
| {{CamelHttpResponseCode}} | HTTP response code | {{Integer}} | No \\ | None | Out \\ | 200 \\ |
{div}

{note}
Note

Currently,

CXF

Bean

component

has

(only)

been

tested

with

Jetty

HTTP

component

it

can

understand

headers

from

Jetty

HTTP

component

without

requiring

conversion.

{note} h3. A Working Sample This sample shows how to create a route that starts a Jetty HTTP server. The route sends requests to a CXF Bean and invokes a JAXRS annotated service. First, create a route as follows. The {{from}} endpoint is a Jetty HTTP endpoint that is listening on port 9000. Notice that the {{matchOnUriPrefix}} option must be set to {{true}} because RESTful request URI will not match the endpoint's URI

A Working Sample

This sample shows how to create a route that starts a Jetty HTTP server. The route sends requests to a CXF Bean and invokes a JAXRS annotated service.

First, create a route as follows. The from endpoint is a Jetty HTTP endpoint that is listening on port 9000. Notice that the matchOnUriPrefix option must be set to true because RESTful request URI will not match the endpoint's URI http:­//localhost:9000

...

exactly.

Wiki Markup

{snippet:id=routeDefinition|lang=xml|url=camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/cxfbean/CxfBeanTest-context.xml}

The

...

to

...

endpoint

...

is

...

a

...

CXF

...

Bean

...

with

...

bean

...

name

...

customerServiceBean

...

.

...

The

...

name

...

will

...

be

...

looked

...

up

...

from

...

the

...

registry.

...

Next,

...

we

...

make

...

sure

...

our

...

service

...

bean

...

is

...

available

...

in

...

Spring

...

registry.

...

We

...

create

...

a

...

bean

...

definition

...

in

...

the

...

Spring

...

configuration.

...

In

...

this

...

example,

...

we

...

create

...

a

...

List

...

of

...

service

...

beans

...

(of

...

one

...

element).

...

We

...

could

...

have

...

created

...

just

...

a

...

single

...

bean

...

without

...

a

...

List.

Wiki Markup

{snippet:id=beanDefinition|lang=xml|url=camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/cxfbean/CxfBeanTest-context.xml}

That's

...

it.

...

Once

...

the

...

route

...

is

...

started,

...

the

...

web

...

service

...

is

...

ready

...

for

...

business.

...

A

...

HTTP

...

client

...

can

...

make

...

a

...

request

...

and

...

receive

...

response.

...