在WSO2 ESB / API Manager中检索HTTP响应代码

时间:2014-05-21 08:26:05

标签: wso2 wso2esb

我正在使用WSO2 API Manager,我希望访问客户端传入API请求的详细信息(进入API Manager,例如HTTP方法)以及来自API端点的响应。我按照以下文档中的方法编写了一个自定义中介类,它可以调用“In”(对于请求)和“Out”(对于响应)流程:

https://docs.wso2.org/display/AM160/Adding+a+Mediation+Extension

似乎我可以从传递到我的中介的MessageContext获取我需要的各种数据,但是我很难从我的API端点获取响应代码。有没有办法从MessageContext访问HTTP响应本身(及其所有标题和其他元素)?我偶然发现了PassThroughTransportUtils类,它有一个determineHttpStatusCode方法我可以调用,但我不确定这是最好的方法。

1 个答案:

答案 0 :(得分:2)

" HTTP_SC"属性存储在Axis2MessageContext中,可以按如下方式访问:

    org.apache.axis2.context.MessageContext msgContext = ((Axis2MessageContext) messageContext).getAxis2MessageContext();
    String httpStatusCode = (String) msgContext.getProperty(NhttpConstants.HTTP_SC);
如果没有设置,

可以为null。