首页 > 解决方案 > 存储 TRANSPORT_HEADERS 以在几次请求后恢复它们

问题描述

我试图找到一种方法将所有传输标头存储在一个属性中,以便在一些验证安全请求覆盖标头后恢复它们。

目前,我正在尝试将 $axis2:TRANSPORT_HEADERS 值保存在axis2范围的另一个属性中(因为java.util.Map支持)。

<property action="set" expression="$axis2:TRANSPORT_HEADERS" name="Original_Headers" scope="axis2"/>    

然后恢复它们:

<property action="set" expression="$axis2:Original_Headers" name="TRANSPORT_HEADERS" scope="axis2"/>  

但这不起作用。它只是用任何内容覆盖标题,例如删除所有标题。

希望您能够帮助我。谢谢!

标签: wso2wso2esb

解决方案


请注意 $trp 前缀用于获取传输标头。

我认为你应该改用这样的东西:

<property expression="$trp:user-id" name="user-id" scope="default" type="STRING"/>
<property expression="$trp:country" name="country" scope="default" type="STRING"/>

让我知道它是否适合您。


推荐阅读