Is your external web service get invoked successfully?
Could you check the server side log?
I guess the SOAPAction header and soap payload may not what server side expected, thus return 500 status code.
Could you use a standalone client proxy to make a successful invocation and use some tcpdump tool to dump the onwire message and compare it with the one you used in camel router? This may give you more concrete ideas what's wrong here.
Thanks Freeman. After setting correct payload for ecternal service, I was able to get response from external service. The external service sends a response with SOAP Attachment.
I have a question here. What dataFormat (PAYLOAD ?) should be mentioned for a response with Attachment.
Any pointers to retrieve an attachment in Processor to which this reposnse is routed.
I have added a Processor to process the response from external service as I need to retrieve the SOAP Attachment.
The Exchange.getIn().getBody is an instance of InputStream -org.apache.camel.converter.stream.CachedOutputStream$WrappedInputStream
Should the data from WrappedInputStream be decoded - before its written to a file.
Is there any other way to retrieve the SOAP Attachment.
camel-http component doesn't support the SOAP with Attachment out of box. I'm afraid you need to deal the input stream yourself to extract the attachment.
Thanks for the hint. I was able to retrieve the attachment from the InputStrem.
Again thanks a lot for the support and quick responses. It really helps. This forum rocks !!!