Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
自定义WSO2网关错误消息_Wso2 - Fatal编程技术网

自定义WSO2网关错误消息

自定义WSO2网关错误消息,wso2,Wso2,WSO2网关返回以下格式的错误消息: {"fault":{"code":404,"type":"Status report","message":"Not Found", "description":"The requested resource (/account-info/1.0/) is not available."}} 但是我们的微服务(实现WSO2提供的API)返回的所有错误消息都有一个标准格式。我们返回一个简单的JSON对象,它有两个字段,error和error\u descr

WSO2网关返回以下格式的错误消息:

{"fault":{"code":404,"type":"Status report","message":"Not Found",
 "description":"The requested resource (/account-info/1.0/) is not available."}}
但是我们的微服务(实现WSO2提供的API)返回的所有错误消息都有一个标准格式。我们返回一个简单的JSON对象,它有两个字段,error和error\u description。因此,我们可以向用户提供一致的界面,在这种特殊情况下,我们希望看到WSO2网关准确地返回以下内容:

{"error":"SERVICE_UNAVAILABLE","error_description":
 "The requested resource (/account-info/1.0/) is not available."}
并仅在标头中返回HTTP状态代码


你能告诉我我需要做什么来实现这一点吗。谢谢。

这些错误消息是根据WSO2 API Manager附带的默认序列生成的

如果在API Manager中找不到请求的资源,它将执行主序列(
$AM_HOME/repository/deployment/server/synapse configs/default/sequences/main.xml
)。如果打开此文件,您将看到上面的默认错误消息是使用如下所示的方法生成的


404
状态报告
找不到
请求的资源(/$1)不可用。
因此,如果要自定义错误消息,则需要根据需要修改上述有效负载工厂中介器

同样,如果出现任何故障,将执行故障序列(
$AM_HOME/repository/deployment/server/synapse configs/default/sequences/fault.xml
)。您可能还需要更改那里的消息格式