3

我配置了 WSO2 API Manager,一切似乎都运行良好。

唯一困扰我的问题是,在 Auth 异常的情况下,API 管理器总是返回 XML 内容类型的响应,例如,

<ams:fault xmlns:ams="http://wso2.org/apimanager/security"><ams:code>900904</ams:code><ams:message>Access Token Inactive</ams:message><ams:description>Access failure for API: /exchange, version: 1.0 with key: 1139a466ebfd825aca953ad7259b9f45</ams:description></ams:fault>

如果客户端使用 JSON 格式与我的 Web 服务通信,XML 响应看起来会有点奇怪。

有什么想法可以让 API Manager 以 JSON 格式提供错误响应吗?

4

1 回答 1

3

这已在 API Manager 的最新版本中得到解决error_message_type通过在 WSO2HOME/repository/deployment/server/synapse-configs/default/sequences/_auth_failure_handler_.xml 中添加或更新属性,可以将 Auth 错误设置为 json 格式:

<property name="error_message_type" value="application/json"/>

我发现这也需要JSONBuilder并被JSONMessageFormatter选为axis2.xml 中的json 内容类型(这是默认设置)。

对于旧版本,本文介绍了如何手动执行相同操作。

于 2014-07-02T13:41:13.260 回答