首页 > 解决方案 > 从axis2MessageContext handleRequest方法WSO AM获取空json对象

问题描述

我想从我在 WSO2 AM 中集成的自定义处理程序 java 类中编写的 JSON 正文请求中获取参数(拦截在 WSO2 上发布的所有 API 调用并将对象请求数据发送到后端服务)。我得到的只是空对象。我尝试了这两种方法:

1)

    org.apache.axis2.context.MessageContext axis2MessageContext = ((Axis2MessageContext) 
    messageContext).getAxis2MessageContext();
    RelayUtils.buildMessage(axis2MessageContext);

    SOAPEnvelope env = axis2MessageContext.getEnvelope();
        if (env != null) {
        SOAPBody soapbody = env.getBody(); 
        log.debug("soapbody " + soapbody); 
        }

2)

    JSONObject jsonBody = new JSONObject(JsonUtil.jsonPayloadToString(axis2MessageContext));
    log.debug("jsonBody " + jsonBody);

    String jsonPayloadToString = JsonUtil.jsonPayloadToString(((Axis2MessageContext) 
    messageContext).getAxis2MessageContext()); 
    log.debug("jsonPayloadToString " + jsonPayloadToString);

结果1):

soapbody <soapenv:Body xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"/>

结果2):

jsonBody {}, jsonPayloadToString {}

任何帮助都会很棒。

标签: javajsonwso2wso2-aminterceptor

解决方案


推荐阅读