首页 > 解决方案 > 具有无效 json 的负载工厂异常

问题描述

如果我使用有效负载工厂来创建或简单地清理有效负载以防出现故障,则有效负载工厂会失败并出现异常。因此,如果出现错误,我无法操纵有效载荷。例如,我只需要删除它,因此对我无效的事实没有影响。

例子:

    <?xml version="1.0" encoding="UTF-8"?>
<api context="/DemoError" name="DemoError" xmlns="http://ws.apache.org/ns/synapse">
    <resource methods="POST">
        <inSequence>
            <payloadFactory media-type="json">
                <format>{&#xd;
"status":"OK"&#xd;
}</format>
                <args/>
            </payloadFactory>
            <loopback/>
        </inSequence>
        <outSequence>
            <send/>
        </outSequence>
        <faultSequence>
            <payloadFactory media-type="json">
                <format>{&#xd;
"status":"KO"&#xd;
}</format>
                <args/>
            </payloadFactory>
        </faultSequence>
    </resource>
</api>

在此示例中,如果我使用无效的 json 进行调用... ESB,它将进入故障序列(右),但是当我尝试在故障中清理有效负载时,有效负载工厂失败(org.apache.synapse .commons.SynapseCommonsException: Existing json payload is malformed),最糟糕的是失败的错误序列返回 http 202 ......非常糟糕我使用的是 WSO2 EI 6.5.0

标签: wso2wso2esbwso2ei

解决方案


这与 [1] 中报告的问题有关。在 GA 版本包含修复之前,WUM 更新版本将包含 EI 版本的修复,包括 wso2ei-6.6.0。

[1]。https://github.com/wso2/product-ei/issues/2757


推荐阅读