Hi All,
I have a route that gets some data from a remote we service and writes to a
file:
 from("file:src/data?noop=true")

.to("cxf://http://www.webservicex.net/stockquote.asmx?wsdlURL=src/main/resources/META-INF/stockquote.wsdl&serviceName={http://www.webserviceX.NET/}StockQuote&portName={http://www.webserviceX.NET/}StockQuoteSoap&dataFormat=MESSAGE";)
                 
 .to("file:src/dataout?fileName=t.xml");

This works fine, but I want to access only some of the elements in this SOAP
message. I tried a processor like the one shown below, but it is returning
null. Can someone point out what is wrong in this route?
I am assuming that I should not cast the SoapBody to Cxfpayload because the
dataformat at the endpoint is MESSAGE. However, I do not know an
alternative.

.process(new Processor() {
                    @SuppressWarnings("unchecked")
                    public void process(final Exchange exchange) throws
Exception {
                        CxfPayload<SoapBody> requestPayload =
exchange.getIn().getBody(CxfPayload.class);
                        List<Source> inElements =
requestPayload.getBodySources();
                        List<Source> outElements = new ArrayList<Source>();     
                  
                        for(Source element:inElements)
                        {
                                Element in = new
XmlConverter().toDOMElement(element);
                                System.out.println("++++++++++++++" +
in.getNodeValue());// prints null
                        }
                       
                    }
                })



--
View this message in context: 
http://camel.465427.n5.nabble.com/how-to-access-a-SOAP-message-part-inside-a-route-tp5720345.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to