如何使用"Date"传输标头在WSO2ESB中发送 REST 调用



我正在尝试从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">

最新更新