如何在WSO2ESB中使用“发送REST呼叫”;日期“;运输头
我正在尝试从WSO2ESB内部调用REST服务。请求需要包含一个身份验证代码,该代码将根据一些值计算,包括日期传输头,它也必须是传输头的一部分如何在WSO2ESB中使用“发送REST呼叫”;日期“;运输头,rest,wso2esb,Rest,Wso2esb,我正在尝试从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: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删除(REST服务将不会获得任何日期头)。是否有可能包含日期头?在NIO和直通http传输中,这些头似乎都被删除了:
- 联系
- 传输编码
- 日期
- 内容长度
- 活命
- 服务器
- 用户代理
您可以在ESB_HOME/repository/conf/nhttp.properties或passthru-http.properties中设置http.Server.preserve=true或http.User.Agent.preserve=true来保存服务器头和用户代理头,具体取决于axis2中配置的传输,但是看起来没有要保留的属性Date头:您可能需要编写自己的http传输发送器并在ESB_HOME/repository/conf/axis2/axis2.xml中配置自定义类:
您可以通过将以下属性添加到
D:\stack\wso2am-2.1.0\repository\conf\nhttp.properties
D:\stack\wso2am-2.1.0\repository\conf\passthru-http.properties
http.headers.preserve=Date