Hi Guys, Thanks for the help. I found a CXF interceptor online based off of the logging interceptor that gets the message:
public SoapMessageInterceptor () { super(Phase.RECEIVE); } @Override public void handleMessage ( SoapMessage message ) throws Fault { String entireSoapMessage = ""; try { // now get the request xml InputStream is = message.getContent ( InputStream.class ); CachedOutputStream os = new CachedOutputStream ( ); IOUtils.copy ( is, os ); os.flush ( ); message.setContent ( InputStream.class, os.getInputStream ( ) ); is.close ( ); entireSoapMessage = IOUtils.toString ( os.getInputStream ( )); log.debug ("The request is: " + entireSoapMessage); os.close ( ); } catch ( Exception ex ) { ex.printStackTrace ( ); } message.getExchange().put("entireSoapMessage", entireSoapMessage); } Then in your camel route, you can get that header where we stuffed the entire soap message as follows: Message cxfMessage = exchange.getIn().getHeader(CxfConstants.CAMEL_CXF_MESSAGE, Message.class); String entireSoapMessage = (String)cxfMessage.get("entireSoapMessage"); and then add the interceptor to your CXF bean: <cxf:inInterceptors> <ref bean="soapMessageInterceptor"/> </cxf:inInterceptors> Thanks, Yogesh -- View this message in context: http://camel.465427.n5.nabble.com/Getting-entire-Soap-Message-with-header-and-body-in-Payload-mode-tp5753162p5753732.html Sent from the Camel - Users mailing list archive at Nabble.com.