Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WSO2含量富集器_Wso2_Wso2esb_Synapse - Fatal编程技术网

WSO2含量富集器

WSO2含量富集器,wso2,wso2esb,synapse,Wso2,Wso2esb,Synapse,我有一个简单的场景,我有WSO2 ESB实例,我构建了处理消息的序列,其中该序列的一个步骤是消息体的内容丰富。应该添加到充实正文中的信息可以通过部署在应用服务器上其他地方的RESTWebService获得。我无法找到使用默认中介集的工作解决方案(我知道,可以编写自己的中介)。Enrich mediator本身不具备此功能。我在PacktPub的书中找到了类似的解决方案,这个示例名为content enricher,但它使用数据库()作为将来enrichement的源代码,而Enrich medi

我有一个简单的场景,我有WSO2 ESB实例,我构建了处理消息的序列,其中该序列的一个步骤是消息体的内容丰富。应该添加到充实正文中的信息可以通过部署在应用服务器上其他地方的RESTWebService获得。我无法找到使用默认中介集的工作解决方案(我知道,可以编写自己的中介)。Enrich mediator本身不具备此功能。我在PacktPub的书中找到了类似的解决方案,这个示例名为content enricher,但它使用数据库()作为将来enrichement的源代码,而Enrich mediator并没有在那个里使用。有什么解决办法吗?或者我走错了路


提前感谢。

根据我的理解,您正在尝试的是,在某个时候,您希望使用一些数据来更改消息(充实),但这些数据是必需的,您需要从REST端点获取

如果是这样,

你要做的是

在充实之前,先调用REST端点并获取响应。从该响应中提取所需的数据。在enrich mediator中使用提取的数据来充实新的消息负载

这种类型的场景称为 您必须使用适当的调解人来实现最终要求

编辑:
//我希望在链的末尾仍然有相同的消息//

1) 因此,将初始消息存储在属性中介中(type=OM)

2) 然后调用REST端点,获取数据并提取所需的值

3) 然后使用enrich mediator来充实先前存储的消息

4) 然后再次使用enrich mediator将该属性转换为soapbody


5) 发送给客户。

谢谢您的回复。我以前尝试过这个示例,但我无法以这种方式处理我的场景。所有服务更改示例都描述了稍微不同的情况,它们通过链处理不同的消息,它们从第一个服务获取响应,并向链中的第二个服务发出新请求。我还需要别的东西。我希望在链的末尾仍然有相同的消息,但是用我将从RESTWebService获得的一些数据来丰富。也许我不太了解如何存储响应中的信息并在链中保留原始消息。我编辑了上面关于如何实现您的要求的答案。谢谢您,有了您的建议,我能够实现我的场景,但使用enrich中介需要更多的XPATH(或XSLT)知识我在Java.BTW中使用自定义类中介进行了丰富,您是否希望在WSO2 ESB中实现一些复杂的场景来共享(使用ESB分发的示例太简单了)?