首页 文章

如何在WSO2 ESB 4.8.1中进行异步调用

提问于
浏览
0

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

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

Problem:

我在“验证”中介“失败”序列中制作自定义消息 . 我通过使用“响应”调解员发回该消息 . 发送回响应后,我想将此相同的错误消息发送到jms队列 . 但问题是在“响应”调解器之后,没有调解器工作,如果我在“响应”调解器之前放置“调用”调解器,则只有消息被发送到队列,没有响应被发送回客户端 .

Things to achieve: 总而言之,我需要在验证介体故障序列中执行以下两项操作 .

  • 将响应发送回客户端 .

  • 将响应发送到队列 .

我怎样才能实现这一目标,或者有没有其他方法来实现这一任务?

1 回答

  • 2

    当你说

    我在“验证”中介“失败”序列中制作自定义消息

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

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

    希望对你有用!

相关问题