我有一个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>
答案 0 :(得分:1)
你应该添加:
<header name="To" action="remove"/>
<property name="RESPONSE" value="true"/>
<property name="NO_ENTITY_BODY" scope="axis2" action="remove"/>
<send/>
:没有调用,没有发送到这个序列中的端点,所以outSequence永远不会被激活
答案 1 :(得分:1)
自ESB 4.8.0起,使用响应中介将执行相同的操作。
<respond>