我已添加" API"通过WSO2ESB的管理控制台,非常简单:
<api xmlns="http://ws.apache.org/ns/synapse" name="getmessage" context="/newservices">
<resource methods="GET" url-mapping="/getmessage">
<inSequence>
....
<log level="full"></log>
</inSequence>
<outSequence>
<send></send>
</outSequence>
</resource>
</api>
由于log mediator,我在inSequence的末尾看到了消息,但无法获得任何响应。错误日志为空。知道怎么收吗?
此外,我注意到了一些非常奇怪的事情:
任何线索都会受到赞赏。
UPD
根据让 - 米歇尔提供的提示,我找到了一系列参数,使其最终发挥作用:
<property name="messageType" value="application/xml" scope="axis2"></property>
<property name="RESPONSE" value="true" scope="default"></property>
<property name="NO_ENTITY_BODY" scope="axis2" action="remove"></property>
<property name="HTTP_SC" value="200" scope="axis2"></property>
我不明白为什么,但只有所有这些一起使用强制API来返回响应体。
答案 0 :(得分:0)
在inSequence中,您不会向端点发送任何内容,因此,您不会收到任何响应:您的outSequence永远不会被执行。如果要发回ACK,可以在inSequence中设置此属性以发送http satus代码202:
<property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
当您向ESB发送内容时,如果没有处理该消息的服务,默认情况下会执行主序列,您会发现<log level="full">