wso2 - 具有无效 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>{
"status":"OK"
}</format>
<args/>
</payloadFactory>
<loopback/>
</inSequence>
<outSequence>
<send/>
</outSequence>
<faultSequence>
<payloadFactory media-type="json">
<format>{
"status":"KO"
}</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
解决方案
这与 [1] 中报告的问题有关。在 GA 版本包含修复之前,WUM 更新版本将包含 EI 版本的修复,包括 wso2ei-6.6.0。
推荐阅读
- python - 在控制台中打开时出现错误 403 google 电子表格 gspread
- spring - MongoDB 的 ObjectId 类型格式
- c# - WebRequest.AddRange 没有返回正确的 Content-Length
- vba - VBA PowerPoint 2016 在 .ConvertToShape 之后塑造 BuildFreeform 属性
- google-cloud-platform - 自动回滚到完全托管的 Cloud Run 的上一个工作修订版
- python - 通过多列合并多个数据框,Pandas,Python
- javascript - 在挂载虚拟 DOM 或挂载真实 DOM 后调用 componentDidMount()
- mysql - MySQL 时间戳字段在 API 响应中返回空对象
- node.js - 处理来自 nodejs 的响应以采取行动
- angular - 我正在安装 Angular CLI 但我遇到了这个问题,我什至无法打开我以前的项目