Json WSO2 API管理器身份验证错误内容类型

Json WSO2 API管理器身份验证错误内容类型,json,api,authentication,wso2,wso2-am,Json,Api,Authentication,Wso2,Wso2 Am,我已经配置了WSO2 API管理器,一切似乎都很好 唯一困扰我的问题是,在发生身份验证异常的情况下,API管理器总是返回XML内容类型的响应,例如 <ams:fault xmlns:ams="http://wso2.org/apimanager/security"><ams:code>900904</ams:code><ams:message>Access Token Inactive</ams:message><ams:desc

我已经配置了WSO2 API管理器,一切似乎都很好

唯一困扰我的问题是,在发生身份验证异常的情况下,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>
900904 API的访问令牌不活动访问失败:/exchange,版本:1.0,密钥:1139a466ebfd825aca953ad7259b9f45
如果客户机使用JSON格式与我的web服务通信,XML响应看起来会有点奇怪

有没有办法让API管理器以JSON格式提供错误响应?

这在最新版本的API管理器中有所体现。通过添加或更新WSO2HOME/repository/deployment/server/synapse configs/default/sequences/\u Auth\u failure\u handler.xml中的
error\u message\u type
属性,可以将Auth errors设置为json格式:

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

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


对于旧版本,说明如何手动执行相同操作。

您是否同时获得XML和JSON响应的此响应?我在调用服务的API管理器和API管理器未能对调用方进行身份验证或授权时,都会获得XML响应。不管我是使用内容类型还是接受标题。(顺便说一句,我认为carbon只是删除了这样的标题)很抱歉,我不清楚您的情况,您说的是API Manager无法与后端服务通信或验证您的请求?如果您对可以在API网关上完成的XML到JSON的转换感兴趣,API管理器返回的错误消息(如我最初的问题中的auth error)总是以XML格式返回。在这种情况下,API管理器是否可以用JSON响应?您可以试试吗?