【问题标题】:how to return response to caller in wso2 esb mediator如何在 wso2 esb 调解器中向调用者返回响应
【发布时间】:2015-12-10 11:39:53
【问题描述】:

我有一个 esb 中介,它处理来自 esb 代理的请求。在 wso2 API 中配置此中介时,可以将响应返回给调用者。在 wso2 代理中配置此中介时,无法将响应返回给调用方。

有人有建议吗?配置如下:

<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="abc"
       transports="http"
       startOnLoad="true"
       trace="enable"
       statistics="enable">
   <description/>
   <target>
      <inSequence>
         <log level="full"/>
         <property name="address"
                 scope="transport"
                  expression="fn:substring-after(get-property('To'),'/services/abc')"/>

         <class name="com.abc.mediator.PatronInfoMediator">
          <property name="pmServerAddress" value="http://192.168.112.243:3509/MobileConnectService"></property>
          <property name="property" value="M"/>
          <property name="languageCode" value="en-US"></property>
          </class>
      </inSequence>
      <outSequence>
         <send/>
      </outSequence>
   </target>
</proxy>

【问题讨论】:

    标签: wso2 wso2esb


    【解决方案1】:

    你应该添加:

    <header name="To" action="remove"/> <property name="RESPONSE" value="true"/> <property name="NO_ENTITY_BODY" scope="axis2" action="remove"/> <send/>

    在你的 inSequence 结束时:没有调用,没有发送到这个序列中的端点,所以永远不会执行 outSequence

    【讨论】:

    • 你可以在没有呼叫或发送时使用
    【解决方案2】:

    从 ESB 4.8.0 开始,使用响应调解器将执行相同的操作。

    <respond>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-27
      • 1970-01-01
      • 1970-01-01
      • 2013-11-11
      • 1970-01-01
      • 1970-01-01
      • 2014-12-11
      相关资源
      最近更新 更多