如何在wso2 esb mediator中返回对调用者的响应

时间:2014-09-18 05:44:57

标签: wso2 wso2esb

我有一个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>

2 个答案:

答案 0 :(得分:1)

你应该添加:

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

在你的inSequence结尾处的

:没有调用,没有发送到这个序列中的端点,所以outSequence永远不会被激活

答案 1 :(得分:1)

自ESB 4.8.0起,使用响应中介将执行相同的操作。

<respond>