On Mon, 18 Feb 2008 19:10:17 +0100
Marc Giger <[EMAIL PROTECTED]> wrote:

> 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
> 

I got it working so far.

If I send a invalid soap-request through the router the
service behind the router answers correctly with a 500 SOAP-Fault but
the camel router returns the response to the client with a 200 status
code. Is there a way to get the correct status-code back to the client?

Also I'm still interested in the answers of my questions above.

Thanks a lot!

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
> > >
> > >   

Reply via email to