根据One-Way Messaging in a Fire-and-Forget Mode through ESB in WSO2 ESB Documentation,我有以下资源:
<resource methods="GET" uri-template="/{serviceId}/*">
<inSequence>
<property name="CHANNEL_COD" value="999"/>
<property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
<property name="OUT_ONLY" value="true"/>
<log>
<property name="**** INSIDE" value="[API] /emma/{serviceId}"/>
</log>
<property name="serviceId" expression="get-property('uri.var.serviceId')"/>
<log>
<property name="**** SERVICE_VALUE" expression="get-property('serviceId')"/>
</log>
<switch source="get-property('serviceId')">
<case regex="Servicio">
<log>
<property name="**** Servicio CASE" expression="get-property('serviceId')"/>
</log>
</case>
<default>
<log>
<property name="**** Default CASE" expression="get-property('serviceId')"/>
</log>
</default>
</switch>
<send/>
</inSequence>
但是,当我查看SystemLog(来自WSO2控制台)时,我可以看到以下两条错误消息:
行为是正确的,但我不知道我做错了什么。
PD:它是尝试Fire&amp; Forget资源的模拟资源。答案 0 :(得分:1)
你的inSequence结尾有一个发送。但是如果没有端点定义并且没有初始化加热器To,则此发送意味着“将响应消息发送回呼叫者”。
但是,没有请求,因此没有响应,而且,您定义FORCE_SC_ACCEPTED发送回ack(http状态代码202)
删除这个没有意义的发送(在你提到的示例中,发送中有一个端点定义)