Hi,
You can put the request into the message body instead of using setBody
DSL. Here is the code snippet.
template.send("direct:requestWebservice", new Processor() {
public void process(Exchange exchange) throws Exception {
exchange.getIn().setBody("<?xml version=\"1.0\"
encoding=\"utf-8\"?> ....");
}
});
On 4/29/11 3:23 PM, Michael Prieß wrote:
Hello,
I like to request some data from a soap service and after receiving
the response I like to convert the received data in another route. But
I not understand how to use the http component to send a http request
to the server. Is this the right way to do that?
<route id="Webservice" autoStartup="true">
<from uri="direct:requestWebservice" />
<setBody><constant><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body />
</soap:Envelope>]]></constant></setBody>
<setHeader headerName="Content-Type">
<constant>text/xml;</constant>
</setHeader>
<setHeader headerName="CamelHttpMethod">
<constant>POST</constant>
</setHeader>
<to
uri="http://myserver.com?authUsername=myuser&authPassword=myPassword&authMethod=Basic"
/>
<to uri="file://d:/opt/output" />
</route>
Regards,
Michael
--
Willem
----------------------------------
FuseSource
Web: http://www.fusesource.com
Blog: http://willemjiang.blogspot.com (English)
http://jnn.javaeye.com (Chinese)
Twitter: willemjiang
Connect at CamelOne May 24-26
The Open Source Integration Conference
http://camelone.com