0

滚动到最后以获得主题问题的解决方案。最初的问题是要求一些不同的东西。


作为更大流程的一部分,我需要获取并链接两组相关的数据。检索数据的方式(动态 crm,n:n 关系..)迫使我们再次检索第二组数据,以便它拥有所有必要的信息。在此数据的较大转换的一部分中,我想访问用于从 crm 获取数据的 http 端点,检索第二组数据并对其进行处理。我可以像这样通过 DefaultEndPointFactory 获取端点:

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

但是没有方法可以实际发送 mulemmessage。

已解决: 问题是您无法在 MuleMessage 上设置入站属性,并且流程取决于其中一些功能(路径、查询参数等)。

看来您可以使用以下方法入站范围属性:

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

有没有办法使这种方法起作用,或者有另一种访问流程的方法?我尝试使用 mulecontext 来获取流程:

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

但它没有包含任何看起来有用的东西。


解决方案: 正如 David Dossot 在对他的回答的评论中所建议的那样,我能够使用 muleClientsrequest方法解决这个问题。

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

然后像往常一样使用 GET 参数等构造 url。

4

1 回答 1

2

我不能 100% 确定您要实现的目标,但无论如何,从 Java 代码中使用 Mule 传输的正确方法是使用MuleClient,您可以使用muleContext.getClient().

例如,该send方法允许您传递自动添加到入站范围的属性映射。在幕后,Mule 负责创建操作所需的端点。

关于流程:你想用它做什么?调用它?

于 2013-05-14T15:30:33.373 回答