【问题标题】:How to avoid ignore the next mediator using response mediator in WSO2 EI?如何避免在 WSO2 EI 中使用响应中介忽略下一个中介?
【发布时间】:2017-11-02 13:16:53
【问题描述】:

我有一个 REST 服务,它返回一个简单的 json {消息:“ok”}。当我使用 Respond Mediator 时,这会停止进一步处理消息并将消息发送回客户端。

我需要向客户端发送响应,然后异步执行任务,但如果我使用它会忽略对序列或端点的下一次调用。

如何同步响应(响应客户端)然后调用服务,而没有响应中介者忽略下一个中介者?

谢谢;

【问题讨论】:

  • 您是否尝试克隆您的消息(使用克隆调解器),在一个克隆响应中,另一个继续您的处理?
  • 您好,谢谢您的回复,我不需要克隆消息,只回复客户然后异步跟进。
  • 只是向客户端发送响应,然后执行块异步(异步),例如使用发送中介并完成。
  • 是的,在这种情况下,克隆中介的使用目标是克隆消息,一方面将其发送回,另一方面异步执行处理。
  • 我将尝试先运行克隆中介,然后再运行响应中介。谢谢尼古拉斯。

标签: wso2 wso2esb wso2ei


【解决方案1】:

我能够解决这个挑战。有效地克隆中介不只是克隆消息,它为新消息赋予了新的独立生命。

 <api xmlns="http://ws.apache.org/ns/synapse" name="porticApiAsyn" context="/test">
<resource methods="POST" url-mapping="/asyn">
  <inSequence>
     <log>
        <property name="message" value="asyn"/>
     </log>
     <payloadFactory media-type="json">
        <format>{"message":"asyn test"}</format>
        <args/>
     </payloadFactory>
     <clone continueParent="true" sequential="true">
        <target sequence="logSequence"/>
     </clone>
     <respond/>
  </inSequence>

在这种情况下,消息被发送到logsequence,然后执行响应中介。谢谢你的帮助。

【讨论】:

    【解决方案2】:

    对于您的情况,您甚至可以执行以下操作

    <api xmlns="http://ws.apache.org/ns/synapse" name="porticApiAsyn" context="/test">
    <resource methods="POST" url-mapping="/asyn">
      <inSequence>
         <log>
            <property name="message" value="asyn"/>
         </log>
         <payloadFactory media-type="json">
            <format>{"message":"asyn test"}</format>
            <args/>
         </payloadFactory>
         <clone continueParent="true" sequential="true">
            <target sequence="logSequence"/>
            <target>
              <sequence>
                <respond/>
              </sequence>
            </target>
         </clone>
      </inSequence>
    

    我想它应该也可以工作,并且可能更具可读性

    【讨论】:

    • 感谢 Nicolas 的支持。我会加入这个功能。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多