java - 以编程方式发送 Mule 消息(以前为 : Accessing mule http endpoint from java)

标签 java mule

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

<小时/>

作为更大流程的一部分,我需要获取两组相关的数据并将其链接在一起。检索数据的方式(动态 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 负责创建操作所需的端点。

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

关于java - 以编程方式发送 Mule 消息(以前为 : Accessing mule http endpoint from java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16543026/

相关文章:

mule - 从动态 JSON 负载中提取值

java - Android ReSTLet 框架 - 获取文件列表并下载文件

mule - 我们应该如何组织我们的骡子进口,以最大限度地提高装载效率和军用测试的模块化?

java - 如果使用 ruby​​ on rails、python 或 java 可以做得更好,为什么还要使用 php 框架进行编程?

java - 如何使用 Java Swing Actions 在 Netbeans 中创建菜单项和工具栏项

groovy - 如何从 Mule 3.5 中的 Groovy 脚本访问属性文件中的值

java - 如果组件已经可用,我们是否应该在 Mule 中使用 Java 组件? Mule 性能和优化

arrays - 带有 JSON 的 Mule 集合拆分器

java - Java如何知道依赖jar在哪里?

java - 传递参数的不同方式 : String args[] or -D?