【问题标题】:How to make a asynchronous call in WSO2 ESB 4.8.1如何在 WSO2 ESB 4.8.1 中进行异步调用
【发布时间】:2015-03-12 23:08:29
【问题描述】:

我有一个在 http 上公开的代理服务。收到请求后,服务会根据其架构对其进行验证。现在,如果验证失败,服务应该向客户端发送错误响应,并且还应该将该错误消息发送到队列。

<validate [source="xpath"]>
   <property name="validation-feature-id" value="true|false"/>*
   <schema key="string"/>+
   <on-fail>
      mediator+
   </on-fail>
</validate>

问题:

我正在“验证”调解器“失败”序列中制作自定义消息。我正在使用“响应”调解器发回该消息。发回响应后,我想将同样的错误消息发送到 jms 队列。但问题是,在“响应”调解器之后,没有调解器工作,如果我将“呼叫”调解器放在“响应”调解器之前,只有消息发送到队列,没有响应发送回客户端。

要实现的目标: 总而言之,我需要在验证调解器故障序列中做以下两件事。

  • 将响应发送回客户端。
  • 将响应发送到队列。

我怎样才能做到这一点,或者有没有其他方法可以完成这个任务?

【问题讨论】:

  • 补充一点,WSO2 不允许我们在“发送”中介之后放置任何中介。

标签: wso2 wso2esb wso2dss


【解决方案1】:

当你说

我正在“验证”调解器“失败”序列中制作自定义消息

我假设您使用的是 payloadFactory。因此,一旦您构建了自定义消息,您就可以使用 中介将消息发送到 2 个目的地,如下所示:

<clone>
    <target> 
        <sequence>
            <respond/>
        </sequence>
    </target>

    <target>
        <sequence>
            <send>
                <endpoint>
                    <address uri=""/> <!-- Specify the JMS connection URL here -->
                </endpoint>
            </send>
        </sequence>
    </target>
</clone>

希望对你有用!

【讨论】:

    猜你喜欢
    • 2015-03-13
    • 1970-01-01
    • 1970-01-01
    • 2015-05-05
    • 1970-01-01
    • 2014-04-23
    • 1970-01-01
    • 2014-06-16
    • 1970-01-01
    相关资源
    最近更新 更多