在WSO2自定义处理程序中按语法获取HTTP_SC

在WSO2自定义处理程序中按语法获取HTTP_SC,wso2,wso2esb,Wso2,Wso2esb,如何在WSO2自定义中介中获取HTTP_SC 我正在尝试以下代码: @Override public boolean mediate(MessageContext context) { Log log = LogFactory.getLog(InfaAccessLogMediator.class); Map<String,Object> axis2Properties = ((Axis2MessageContext)context).getAxis2MessageC

如何在WSO2自定义中介中获取HTTP_SC

我正在尝试以下代码:

@Override
public boolean mediate(MessageContext context)
{
    Log log = LogFactory.getLog(InfaAccessLogMediator.class);

    Map<String,Object> axis2Properties = ((Axis2MessageContext)context).getAxis2MessageContext().getProperties();

    for (String prop : axis2Properties.keySet()) {
        log.info(String.format("AXIS2 Property: %s", prop));
    }

    return true;
}
如您所见,日志中介器从axis2上下文(日志的第一行)记录了HTTP_SC,但它没有出现在我的中介器内的属性映射中

我发现的一个解决方法是使用属性中介将MY_HTTP_SC设置为axis2:HTTP_SC的值,并在我的中介中使用MY_HTTP_SC,但不确定当我直接尝试访问HTTP_SC时,为什么这不起作用

<property name="MY_HTTP_SC" action="set" expression="get-property('axis2','HTTP_SC')" />
<class name="com.informatica.apimanager.wso2_plugins.InfaAccessLogMediator"/>

HTTP\U SC位于axis2消息上下文中。因此,您需要访问Axis2消息上下文,如下所示:

Map<String,Object> axis2Properties = ((Axis2MessageContext)context).getAxis2MessageContext().getProperties();
映射axis2Properties=((Axis2MessageContext)上下文).getAxis2MessageContext().getProperties();

HTTP\U SC位于axis2消息上下文中。因此,您需要访问Axis2消息上下文,如下所示:

Map<String,Object> axis2Properties = ((Axis2MessageContext)context).getAxis2MessageContext().getProperties();
映射axis2Properties=((Axis2MessageContext)上下文).getAxis2MessageContext().getProperties();

我就是这么做的,那里没有HTTP\u SC。我将用其他代码和信息更新我的原始帖子。您可以访问HTTP_SC的值,如下所示:'((Axis2MessageContext)context)。getAxis2MessageContext().getProperty(“HTTP_SC”)'这就是我所做的,HTTP_SC不包括在其中。我将用其他代码和信息更新我的原始帖子。您可以访问HTTP_SC的值,如下所示:'((Axis2MessageContext)context).getAxis2MessageContext().getProperty(“HTTP_SC”)'
Map<String,Object> axis2Properties = ((Axis2MessageContext)context).getAxis2MessageContext().getProperties();