如何从 WSO2 APIM 1.9 中的自定义处理程序访问响应负载内容

How to access response payload content from custom handler in WSO2 APIM 1.9

如何从 WSO2 APIM 中的自定义处理程序访问响应负载内容?我试着从 org.apache.synapse.MessageContext 或 org.apache.synapse.core.axis2.Axis2MessageContext; 得到这个但我无法获得响应负载。有人可以帮忙吗?

您需要在读取负载之前在处理程序中构建消息,如下所示。

    public boolean handleResponse(MessageContext messageContext) {
        try {
            RelayUtils.buildMessage(((Axis2MessageContext) messageContext).getAxis2MessageContext());
        } catch (IOException e) {
            e.printStackTrace();
        } catch (XMLStreamException e) {
            e.printStackTrace();
        }

        // read the body
        log.info(messageContext.getEnvelope().getBody());
        return true;
    }

请参阅 [1] 以获取完整示例,以在 API Manager 1.8.0 的处理程序中构建消息。您需要在 pom.xml 中为 API Manager 1.9.0 添加正确的依赖项(将 synapse-core 和 synapse-nhttp-transport 版本更新为 2.1.2-wso2v7)

[1] https://github.com/R-Rajkumar/samples/tree/master/message-builder-handler