WSO2 ESB 获取所有传输 headers

WSO2 ESB get all transport headers

我想按顺序获取所有传输 header。我可以得到特定的 header 我知道他们名字的人,但我想得到所有的人,包括我不知道 header 名字的人。

我也觉得这个问题一样,但是我们的问题没有解决方案。 WSO2 ESB print all TRANSPORT_HEADERS

我也尝试记录这个

<property name="TRANSPORT_HEADERS" action="set" scope="axis2"/>

但我在 WSO2 日志中什么也没有。

WSO2 版本 6.4.0

感谢任何想法!

我不知道'Transport headers' 属性具体怎么用,但是根据你的问题描述我想你也可以通过以下方式解决你的问题: 您可以通过在carbon控制台中设置日志级别来记录所有headers 配置->日志记录->org.apache.synapse.transport.http.headers 到 'DEBUG'.

我们无法使用 属性 中介记录此 属性,因为这是 axis2-transports 中的内部 JAVA 映射。因此,我们可能需要为此目的使用 class 调解器。

以下是示例。

您可以将 class mediator jar 直接放在 EI_HOME/lib 或 ESB_HOME/repository/components/lib 中并使用以下配置

<class name="org.sample.LogTransportHeaders"/>

在代理中或 API 添加以下内容到 log4j.properties 文件后

log4j.logger.org.sample.LogTransportHeaders=INFO

详情请参考这里:https://medium.com/@nirothipanram/wso2-ei-print-all-transport-headers-12aabb4027cc

我在 log4j.properties 中启用了线路日志并重新启动了服务器,它对我来说工作正常。 我正在使用 esb 4.9 版本。

log4j.logger.org.apache.synapse.transport.http.headers=DEBUG
log4j.logger.org.apache.synapse.transport.http.wire=DEBUG