Hi Willem, On Mon, 18 Feb 2008 08:54:02 +0800 Willem Jiang <[EMAIL PROTECTED]> wrote:
> Hi Marc, > > From your configuration , you just route the request in POJO data > format mode. > You can configure the router to use the MESSAGE data format by adding > the data format parameter in the endpoint URI like this. > > <camelContext id="camel" > xmlns="http://activemq.apache.org/camel/schema/spring"> > > <route> > <from uri="cxf:bean:routerEndpoint?dataFormat=MESSAGE"/> > <to uri="cxf:bean:serviceEndpoint?dataFormat=MESSAGE"/> > </route> > </camelContext> Do I need to specify the dataFormat on the incoming and outgoing endpoint? What happens if the destination (to uri) is a local cxf-bean with JAX-Binding and the dataFormat on the incoming endpoint (from uri) dataFormat is still set to MESSAGE? > > Since I just fixed an issue that spring cxf endpoint can't be > configured properly with MESSAGE or PAYLOAD data format yesterday, > you may need to try out the latest snap shot of camel. Is camel-cxf-1.3-20080216.034155-72.jar the latest snapshot? If I specify the dataFormat on both endpoints as you sugested, I get the following error on startup: org.apache.cxf.service.factory.ServiceConstructionException: Could not find portType named {http://SDService}SDServiceImplPortType I don't know where the name "SDServiceImplPortType" comes from... If I leave the dataFormat on the serviceEndpoint, I get a NPE. Any ideas? > > BTW , in MESSAGE mode , the camel-cxf component just exchange the > input stream from the transport layer, it will never touch or change > any contents in the message. I think it will fulfill your > requirement. Sounds good;-) Btw: Should the following work?: <camelContext id="camel" xmlns="http://activemq.apache.org/camel/schema/spring"> <route> <from uri="cxf:bean:routerEndpoint"/> <to uri="file://req"/> </route> </camelContext> Thanks! Marc > > Cheers, > > Willem. > > Marc Giger wrote: > > Hi, > > > > I'm new to camel and have a question regarding > > message mode routing. > > > > I have the following setup configured in spring: > > > > <cxf:cxfEndpoint id="routerEndpoint" > > address="/SDService" > > serviceClass="SDServiceImpl"/> > > > > <cxf:cxfEndpoint id="serviceEndpoint" > > address="http://host1:8080/SDService" > > wsdlURL="wsdl/SDService.wsdl" > > endpointName="s:SDPort" > > serviceName="s:SDService" > > xmlns:s="http://SDService"/> > > > > <camelContext id="camel" > > xmlns="http://activemq.apache.org/camel/schema/spring"> > > > > <route> > > <from uri="cxf:bean:routerEndpoint"/> > > <to uri="cxf:bean:serviceEndpoint"/> > > </route> > > </camelContext> > > > > If I send a request to the routerEndpoint the soap-requests > > is sent to the serviceEndpoint but: > > > > The whole content of the original SOAP-Header is missing on the > > serviceEndpoint side. > > > > My requirement is that incoming message, which is digitally signed, > > is routet inclusive soap-header and nowhere in the path modified. > > > > So is it possible to route a message inclusive soap-header? > > Also a incoming message must not be read in a DOM and > > serialized from DOM because otherwise we destroy the signature. > > > > Can these requirements be fullfilled with camel? > > > > If yes, could you give me an example spring configuration? > > > > Thanks a lot > > > > Marc > > > >
