2014-11-21 58 views
0

我想使用Camel從SQS隊列中讀取XML消息,從XML中的特定節點中拉出URL,然後下載該文件指向特定目錄的網址。使用Camel根據SQS消息中的url下載文件

我正在使用Spring DSL。

的XML消息看起來是這樣的:

<command> 
    <path>http://example.com/myfile/here?q=something&param=somethingelse</path> 
    <....> 
</command> 

我怎樣才能做到這一點? (我可以編寫一個處理器來讀取SQS消息並下載文件,但看起來應該可以使用本地Camel組件)。

回答

0

如何使用splittercamel-http組件來下載文件。

路線可能喜歡這個

from("aws:xxx").split().xtokenize("//path", 't').to("direct:http"); 

from("direct:http").setHeader(Exchange.HTTP_URI, simple(${body}).setBody(constant(null).to("http://example.com"); 

如果使用了Spring DSL,它看起來像這樣

<route id="get-download-url"> 
    <from uri="aws:xxx"/> 
    <split> 
    <xtokenize mode="t">//path</xtokenize> 
    </split> 
    <to uri="direct:http"/> 
</route> 
<route id="download-file"> 
    <from uri="direct:http"/> 
    <setHeader headerName="CamelHttpUri"> 
    <simple>${body}</simple> 
    </setHeader> 
    <setBody><simple></simple></setBody> 
    <to uri="http://example.com"/> 
</route> 
+0

你能成爲一個更具體一點,如何這可能會奏效? – 2014-11-24 03:08:52