如何从 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
如何从 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