FORCE_SC_ACCEPTED属性如何工作?

时间:2016-02-11 09:20:47

标签: response wso2esb mediator

我的代理代码看起来像这样

<proxy xmlns="http://ws.apache.org/ns/synapse" name="test">
 <target>
   <inSequence><property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/></inSequence>
 </target>
</proxy>

当我从soapUI点击xml时,我不期待回应。 从我的理解FORCE_SC_ACCEPTED属性强制202客户端的http响应,所以它在此属性设置为true时停止等待响应。 请问任何人都可以建议FORCE_SC_ACCEPTED属性如何运作?

1 个答案:

答案 0 :(得分:0)

仅当您在序列中使用或介体时,才应用此参数。 在这种情况下,呼叫客户端将立即收到202,而无需等待响应。

<proxy xmlns="http://ws.apache.org/ns/synapse" name="test"><target>
   <inSequence>
        <property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
        
        <!-- 202 response will directly be sent to caller -->
        <call>
            <endpoint>
               <address uri="http://localhost:8280/anyapi">
                    </address>
            </endpoint>
         </call>
         <!-- managing the response from the call, but <respond/> mediator cannot be used anymore, as already responded -->
         
    </inSequence></target></proxy>

因此,在没有“调用”或“发送”调解器的示例中,您将获得200。您可以通过自己设置HTTP_SC(并删除正文)来更改此设置:

<property name="HTTP_SC" value="202" scope="axis2"/>
<property name="NO_ENTITY_BODY" value="true" scope="axis2" type="BOOLEAN"/>
<respond/>