You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by mario_horny <ma...@dzbank.de> on 2008/11/12 10:49:19 UTC
Re: Response processor / transformer
Hi all,
I'm currently facing the same questions 1 and 3 that Marc had.
First, I want to transform a response message within the router using a
custom processor. For processing an incoming request an implementation of a
route in the configure() method of a RouteBuilder might look like
from( INBOUND_ENDPOINT_URI ).process( myTransformationProcessor ).to(
OUTBOUND_ENDPOINT_URI).
This transforms the request before it is routed to the target endpoint. But
how can I transform the reply (via a seperate route?) ?
Finally, how can I throw a custom fault in case of an error within the
process() method of my custom processor ?
Many thanks in advance,
Mario
Marc Giger wrote:
>
> Hi,
>
> I have the following spring configuration:
>
> <camelContext id="camel"
> xmlns="http://activemq.apache.org/camel/schema/spring"> <route>
> <from uri="cxf:bean:routerEndpoint?dataFormat=MESSAGE"/>
> <process ref="decryptProcessor">
> <onException>
> <redeliveryPolicy>
> <maximumRedeliveries>0</maximumRedeliveries>
> </redeliveryPolicy>
> </onException>
> </process>
> <choice>
> <when>
> <methodCall bean="endpointSelector"
> method="matches"/> <to
> uri="cxf:bean:serviceEndpoint?dataFormat=MESSAGE"/> </when>
> <otherwise>
> <to uri="file://out?dataFormat=MESSAGE"/>
> </otherwise> </choice>
> </route>
> </camelContext>
>
> 1. How can I add a response processor/transformer?
>
> 2. How do I apply a redeliveryPolicy on the above configuration so that
> it works? The above configuration doesn't work.
>
> 3. If something goes wrong (e.g in my decryptProcessor) how can I throw
> a customized SOAP-Fault with the error msg from the decryptProcessor?
>
>
> 4. Local Endpoints:
>
> I have defined a local ServiceEndpoint:
>
> <jaxws:endpoint id="sDService"
> implementor="#sDServiceImpl" address="/SDServiceJAXWS">
> <jaxws:inInterceptors>
> <bean
> class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor"/>
> <bean
> class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor"/>
> </jaxws:inInterceptors>
> </jaxws:endpoint>
>
> And the following camel-cxf endpoint:
>
> <cxf:cxfEndpoint id="localEndpoint"
> address="/SDServiceJAXWS"
> wsdlURL="wsdl/SDService.wsdl"
> serviceClass="service.SDServiceImpl"
> endpointName="s:SD"
> serviceName="s:SDService"
> xmlns:s="http://SDService"/>
>
> What I would like to do is to invoke the /SDServiceJAXWS in-vm
> ATM I'm a little bit confused and don't see the solution right now.
> With the above config I get the following error:
> java.net.MalformedURLException: no
> protocol: /SalaryDeclarationServiceJAXWS
>
> Last question for today:-):
>
> Is there another repo with newer snapshots than
> http://people.apache.org/repo/m2-snapshot-repository/org/apache/camel/camel-cxf/1.3-SNAPSHOT/camel-cxf-1.3-20080216.034155-72.jar
> ?
>
> Thanks a lot!
>
> Cheers,
>
> Marc
>
>
--
View this message in context: http://www.nabble.com/Response-processor---transformer-tp15596535s22882p20457136.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Response processor / transformer
Posted by "Lukasz L." <Lu...@sabre.com>.
As for transforming the reply, what about something like this:
from( INBOUND_ENDPOINT_URI ).process( myTransformationProcessor ).pipeline(
OUTBOUND_ENDPOINT_URI, "direct:outProcessor").
from("direct:outProcessor").process( outTransformationProcessor );
in outTransformationProcessor you probably need to get and modify out
message (not in)
mario_horny wrote:
>
> Hi all,
>
> I'm currently facing the same questions 1 and 3 that Marc had.
>
> First, I want to transform a response message within the router using a
> custom processor. For processing an incoming request an implementation of
> a route in the configure() method of a RouteBuilder might look like
>
> from( INBOUND_ENDPOINT_URI ).process( myTransformationProcessor ).to(
> OUTBOUND_ENDPOINT_URI).
>
> This transforms the request before it is routed to the target endpoint.
> But how can I transform the reply (via a seperate route?) ?
>
> Finally, how can I throw a custom fault in case of an error within the
> process() method of my custom processor ?
>
> Many thanks in advance,
> Mario
>
>
--
View this message in context: http://www.nabble.com/Response-processor---transformer-tp15596535s22882p20480855.html
Sent from the Camel - Users mailing list archive at Nabble.com.