簡體   English   中英

如何在Camel中將非編組對象設置為交換屬性

[英]How to set an unmarshalled object to an exchange property in Camel

我是駱駝的新手,我被困在一個似乎很簡單的地方。 我需要解組交換中的2個xml,然后將相應的POJO傳遞給處理器。 我在想是否可以解組一個XML,將它設置為一個屬性,以交換另一個XML的屬性。 最后,在處理器中,我將檢索屬性並可以在處理器中執行所需的邏輯。 我能夠成功地將xml解組,並在exchange.in.body中獲得最后一個POJO。 但是誰能告訴我在交換屬性中設置未編組對象結果的正確方法是什么? 我在下面嘗試過,但是沒有用:

    <setProperty propertyName="foo">
        <unmarshall ref="modelref" id="model_id"" />
    </setProperty>

這里的modelref是駱駝對org.apache.camel.model.dataformat.JAXBDataFormat類的bean的引用。

誰能給我一些指導以解決此問題?

Unmarshal不是setProperty元素的有效子元素。 前提是您已經執行了某種拆分,並且現在想要解組一個XML並將其設置為標頭,則可以執行以下操作:

<unmarshal ref="modelref" id="model_id" />
<setProperty propertyName="foo">
    <simple>${body}</simple>
</setProperty>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM