You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Alexandros Karypidis <ak...@yahoo.gr> on 2010/02/23 20:00:31 UTC
Working with CXF web service beans
Hello,
I'm going through the tutorial:
http://camel.apache.org/tutorial-example-reportincident-part5.html
Basically, there's two things I don't like about CXF's integration with
Camel:
(1) I must cast the input message to a parameter class manually
(2) I must call a processor set the output message
The points are illustrated below:
<camel-cxf:cxfEndpoint id="myCXFBean"
serviceClass="some.jaxws.WebServiceClass" ... />
<camel:camelContext id="myCamelContext" trace="true">
<camel:route>
<camel:from uri="cxf:bean:myCXFBean" />
<camel:to uri="log:logger" />
(1) <camel:convertBodyTo type="my.ParameterClass" />
(2) <camel:process ref="processorThatSetsOutMessage" />
</camel:route>
</camel:camelContext>
My problem with the approach is that:
Regarding (1): since a web service has multiple operations, each with
different parameters, one would need to cast to a different class type,
depending on which operation is being called.
Regarding (2): I simply need Camel to do some magic prior to the web
service implementation (i.e. in the "processor" I just need to call the
method of "some.jaxws.WebServiceClass" that corresponds to the input
message); is there a way to configure this simple behaviour, with the
return value of the invocation automatically being set to become the
body of the output message (i.e. not need to set
exchange.getOut().out.setBody() explicitly)?
Re: Working with CXF web service beans
Posted by Ashwin Karpe <as...@progress.com>.
Hi,
There is no such capability available at this time to do automatic
invocation of methods based on the XML Root Element.
If this is important to you, please create a Jira entry at
https://issues.apache.org/activemq/secure/Dashboard.jspa
https://issues.apache.org/activemq/secure/Dashboard.jspa
Please add the entry as a new feature request so that it can be assessed for
merit and value.
Cheers,
Ashwin...
karypid wrote:
>
> Hello,
>
> I'm going through the tutorial:
> http://camel.apache.org/tutorial-example-reportincident-part5.html
>
> Basically, there's two things I don't like about CXF's integration with
> Camel:
>
> (1) I must cast the input message to a parameter class manually
> (2) I must call a processor set the output message
>
> The points are illustrated below:
>
> <camel-cxf:cxfEndpoint id="myCXFBean"
> serviceClass="some.jaxws.WebServiceClass" ... />
> <camel:camelContext id="myCamelContext" trace="true">
> <camel:route>
> <camel:from uri="cxf:bean:myCXFBean" />
> <camel:to uri="log:logger" />
> (1) <camel:convertBodyTo type="my.ParameterClass" />
> (2) <camel:process ref="processorThatSetsOutMessage" />
> </camel:route>
> </camel:camelContext>
>
> My problem with the approach is that:
>
> Regarding (1): since a web service has multiple operations, each with
> different parameters, one would need to cast to a different class type,
> depending on which operation is being called.
>
> Regarding (2): I simply need Camel to do some magic prior to the web
> service implementation (i.e. in the "processor" I just need to call the
> method of "some.jaxws.WebServiceClass" that corresponds to the input
> message); is there a way to configure this simple behaviour, with the
> return value of the invocation automatically being set to become the
> body of the output message (i.e. not need to set
> exchange.getOut().out.setBody() explicitly)?
>
>
>
-----
---
Ashwin Karpe, Principal Consultant, PS - Opensource Center of Competence
Progress Software Corporation
14 Oak Park Drive
Bedford, MA 01730
---
+1-972-304-9084 (Office)
+1-972-971-1700 (Mobile)
----
Blog: http://opensourceknowledge.blogspot.com/
--
View this message in context: http://old.nabble.com/Working-with-CXF-web-service-beans-tp27708539p27714194.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Working with CXF web service beans
Posted by Willem Jiang <wi...@gmail.com>.
Did you try to use the cxfbean[1]?
[1] http://camel.apache.org/cxf.html#CXF-CXFBeanComponent%282.0orlater%29
Willem
Alexandros Karypidis wrote:
> Hello,
>
> I'm going through the tutorial:
> http://camel.apache.org/tutorial-example-reportincident-part5.html
>
> Basically, there's two things I don't like about CXF's integration with
> Camel:
>
> (1) I must cast the input message to a parameter class manually
> (2) I must call a processor set the output message
>
> The points are illustrated below:
>
> <camel-cxf:cxfEndpoint id="myCXFBean"
> serviceClass="some.jaxws.WebServiceClass" ... />
> <camel:camelContext id="myCamelContext" trace="true">
> <camel:route>
> <camel:from uri="cxf:bean:myCXFBean" />
> <camel:to uri="log:logger" />
> (1) <camel:convertBodyTo type="my.ParameterClass" />
> (2) <camel:process ref="processorThatSetsOutMessage" />
> </camel:route>
> </camel:camelContext>
>
> My problem with the approach is that:
>
> Regarding (1): since a web service has multiple operations, each with
> different parameters, one would need to cast to a different class type,
> depending on which operation is being called.
>
> Regarding (2): I simply need Camel to do some magic prior to the web
> service implementation (i.e. in the "processor" I just need to call the
> method of "some.jaxws.WebServiceClass" that corresponds to the input
> message); is there a way to configure this simple behaviour, with the
> return value of the invocation automatically being set to become the
> body of the output message (i.e. not need to set
> exchange.getOut().out.setBody() explicitly)?
>
>