I think you can try to use the CXF_MESSAGE data format. This data format will consume the stream and invoke all the interceptors, and you can get the full of soap message from the camel body, I think you can get he soap header easily there.
-- Willem Jiang Red Hat, Inc. FuseSource is now part of Red Hat Web: http://www.fusesource.com | http://www.redhat.com Blog: http://willemjiang.blogspot.com (http://willemjiang.blogspot.com/) (English) http://jnn.iteye.com (http://jnn.javaeye.com/) (Chinese) Twitter: willemjiang Weibo: 姜宁willem On Thursday, August 1, 2013 at 1:26 AM, John D. Ament wrote: > Hi all > > I'm dynamically binding a CXF endpoint to a processor instance, using a > route like this: > > from(simpleEndpointURI + > "?dataFormat=MESSAGE&wsdlURL=wsdl/Import.wsdl&loggingFeatureEnabled=true").process(new > ImportProcessor()); > > I setup a simple way of reading this body using an InputStream, but this > seems wrong. I'm trying to get the soap headers and the soap body of the > message. I'm using MESSAGE dataFormat because I can't seem to get the > mustunderstand to process correctly without it. > > From the docs: > > MESSAGEMESSAGE is the raw message that is received from the transport > layer. It is not suppose to touch or change Stream, some of the CXF > interceptor will be removed if you are using this kind of DataFormat so you > can't see any soap headers after the camel-cxf consumer and JAX-WS handler > is not supported. > > > > Which is fine for me, all I need is some data simply from the body. But is > it possible to access the headers? I see everything fine in the > InputStream, but it would make more sense if this were available somehow in > a POJO/Java format. Is there a way I can use another dataFormat but get it > to generate the MustUnderstand properly? > > Thanks, > > John