我在我的ESB上设置了一个API,它调用了一个从数据库返回数据的数据服务,但是我现在要做的就是将该数据返回给客户端/ Web浏览器并显示它在屏幕上。
我的API代码是:
<?xml version="1.0" encoding="UTF-8"?>
<api xmlns="http://ws.apache.org/ns/synapse" name="DatabaseTest" context="/dbtest">
<resource methods="GET">
<inSequence>
<callout serviceURL="http://10.248.40.85:9764/services/TestDSS/operation1">
<source type="envelope"/>
<target key="response"/>
</callout>
<log level="full">
<property name="output" expression="get-property('response')"/>
</log>
<header name="To" scope="default" action="remove"/>
<property name="RESPONSE" value="true" scope="default" type="STRING"/>
<send/>
</inSequence>
<outSequence/>
<faultSequence/>
</resource>
</api>
<?xml version="1.0" encoding="UTF-8"?>
<api xmlns="http://ws.apache.org/ns/synapse" name="DatabaseTest" context="/dbtest">
<resource methods="GET">
<inSequence>
<callout serviceURL="http://10.248.40.85:9764/services/TestDSS/operation1">
<source type="envelope"/>
<target key="response"/>
</callout>
<log level="full">
<property name="output" expression="get-property('response')"/>
</log>
<header name="To" scope="default" action="remove"/>
<property name="RESPONSE" value="true" scope="default" type="STRING"/>
<send/>
</inSequence>
<outSequence/>
<faultSequence/>
</resource>
</api>
答案 0 :(得分:0)
由于您在get请求的代理服务中进行响应,因此需要在删除To
标头后添加此属性。
<property name="NO_ENTITY_BODY" scope="axis2" action="remove"/>