簡體   English   中英

以編程方式發送mule消息(以前:從java訪問mule http端點)

[英]Programmatically sending mule message (formerly: Accessing mule http endpoint from java)

滾動到最后,找到解決主題問題的方法。 最初的問題是要求一些不同的東西。


作為更大流程的一部分,我需要一起獲取並鏈接兩個相關的數據集。 檢索數據的方式(動態crm,n:n關系......)迫使我們再次檢索第二組數據,以便它具有所有必要的信息。 在對此數據進行較大轉換的一部分期間,我想訪問用於從crm獲取數據的http端點,檢索第二組數據並對其進行處理。 我可以通過DefaultEndPointFactory獲取端點,如下所示:

DefaultEndpointFactory def = new DefaultEndpointFactory();
def.getInboundEndpoint("uri").getConnector;

但實際上沒有辦法發送mulemessage。

解決: 問題是您無法在MuleMessage上設置入站屬性,並且流程取決於其中一些要運行的(路徑,查詢參數等)。

您似乎可以使用以下方法來入站作用域屬性:

m.setProperty("test", (Object)"test", PropertyScope.INBOUND);

有沒有辦法讓這種方法有效,或者是另一種訪問流程的方法? 我嘗試使用mulecontext來獲取流量:

muleContext.getRegistry().lookupFlowConstruct("myflow");

但它沒有任何看起來有用的東西。


解決方案:正如David Dossot在他的回答評論中建議的那樣,我能夠用muleClients request方法來解決這個問題。

muleContext.getClient().request(url, timeout);

然后像往常一樣用GET參數等構建url。

我不是100%肯定你想要實現的目標,但無論如何,從Java代碼使用Mule傳輸的正確方法是使用MuleClient ,您可以使用muleContext.getClient()訪問它。

例如, send方法允許您傳遞自動添加到入站范圍的屬性映射。 在幕后,Mule負責創建操作所需的端點。

關於流程:你想用它做什么? 調用它?

暫無
暫無

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

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