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

Reply via email to