Wso2中介中的自定义错误处理程序

Wso2中介中的自定义错误处理程序,wso2,mediator,wso2carbon,Wso2,Mediator,Wso2carbon,在我的In-sequence mediatior中,我需要对输入值处理一些逻辑,并根据这些逻辑决定是调用webservice还是返回错误。我已将序列定义如下 <sequence xmlns="http://ws.apache.org/ns/synapse" name="m1"> <class name="com.myclass"> </class> <makefault version="soap11"> &

在我的In-sequence mediatior中,我需要对输入值处理一些逻辑,并根据这些逻辑决定是调用webservice还是返回错误。我已将序列定义如下

<sequence xmlns="http://ws.apache.org/ns/synapse" name="m1">
    <class name="com.myclass">
    </class>
    <makefault version="soap11">
        <code xmlns:soap11Env="http://schemas.xmlsoap.org/soap/envelope/" value="soap11Env:Client"/>
        <reason value="ERROR_MESSAGE"/>
        <role>Acc</role>
        <detail>Test Details</detail>
    </makefault>
    <log/>
</sequence>


行政协调会
测试细节
问题是默认情况下,Web服务总是将故障信息传递给Web服务。我如何理解以下内容 1.在中介中抛出自定义异常的情况下,soap错误将被抛出回webservice客户端。
2.如果所有信息都正确,则会正确调用Web服务,客户端会得到正确的响应。

您需要定义一个单独的序列来处理故障。然后,在插入序列中,需要将该故障序列设置为“onError”属性。所以你的语无伦次看起来像

<sequence xmlns="http://ws.apache.org/ns/synapse" name="m1" onError="yourFaultSequence">
    <class name="com.myclass">
    </class>
    <log/>
    <send/>
</sequence>

添加上述配置是为了给出一个想法。请注意onError属性。 这也会有帮助