我正在尝试从WSO2ESB中调用REST服务。该请求需要包含一个身份验证代码,该代码将根据某些值(包括日期运输标头)进行计算,该值也必须是运输标头的一部分。
<syn:property name="Date" value="Mi, 1 Mrz 2015 11:00:00 MEZ" scope="transport" />
<syn:property name="X-Auth-Code" value="SomeCodeBasedOnDateHeader" scope="transport" />
<syn:send>
<syn:endpoint>
<syn:http uri-template="http://localhost:8280/rest/resourceA/{uri.var.resA}/resourceB/{uri.var.resB}" method="POST" />
</syn:endpoint>
</syn:send>
但是,当试图发送请求时,日期运输头将由WSO2 ESB删除(其余服务将无法获得任何日期标题)。是否有机会包括日期标题?
您可以通过将以下属性添加到D: stack wso2am-2.1.0 repository conf nhttp.propertiesD: stack wso2AM-2.1.0 repository conf passhru-http.properties
http.headers.preserve=Date
似乎在Nio和PassThrough HTTP传输中都删除了Thoses标题:
- 连接
- 转移编码
- 日期
- 内容长度
- 饲养
- 服务器
- 用户代理
您可以保留服务器和 user-agent 标题,设置 http.server.preserve = true 或> htttp.user。Agent.preserve = true 在 esb_home/repository/conf/conf/nhttp.properties 或 passhru-http.properties 取决于Axis2配置的运输看起来没有属性可以保留 date 标题:您可能需要编写自己的HTTP传输发送者并在 emb_home/confority/conf/axis2/axis2/axis2.xml <<:<transportSender name="http" class="sss">