首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WSO2: trp.vfs变量最终出现在请求头中(不管是什么)

WSO2: trp.vfs变量最终出现在请求头中(不管是什么)
EN

Stack Overflow用户
提问于 2020-04-28 13:12:44
回答 1查看 81关注 0票数 0

在下面的处理中,我在分析http头时遇到了一些奇怪的行为

代码语言:javascript
复制
| sftp folder | ==vfs=> | ESB processing | ===http===> REST endpoint

在……里面

使用以下入站端点从文件夹读取文件:

代码语言:javascript
复制
<inboundEndpoint name="aaa2bbb-aaaFolder" onError="aaa2bbb-errors" protocol="file" sequence="aaa2bbb-processFiles" statistics="enable" suspend="false" trace="enable" xmlns="http://ws.apache.org/ns/synapse">
    <parameters>
        <parameter name="interval">5000</parameter>
        <parameter name="sequential">true</parameter>
        <parameter name="coordination">true</parameter>
        <parameter name="transport.vfs.ContentType">text/plain</parameter>
        <parameter name="transport.vfs.LockReleaseSameNode">false</parameter>
        <parameter name="transport.vfs.AutoLockRelease">false</parameter>
        <parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter>
        <parameter name="transport.vfs.FailedRecordsFileName">vfs-move-failed-records.properties</parameter>
        <parameter name="transport.vfs.FailedRecordsFileDestination">repository/conf/</parameter>
        <parameter name="transport.vfs.MoveFailedRecordTimestampFormat">dd-MM-yyyy HH:mm:ss</parameter>
        <parameter name="transport.vfs.FailedRecordNextRetryDuration">3000</parameter>
        <parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter>
        <parameter key="gov:/filesystem/fromAAA.txt" name="transport.vfs.FileURI"/>
        <parameter name="transport.vfs.ReplyFileURI">${registry:gov:/filesystem/fromAAA.txt}/success</parameter>
        <parameter name="transport.vfs.ReplyFileName">response.xml</parameter>
        <parameter name="transport.vfs.DistributedLock">false</parameter>
        <parameter name="transport.vfs.FileNamePattern">^CMDE.*\.zip|^(?!tmp).*\.xml</parameter>
        <parameter name="transport.vfs.Locking">disable</parameter>
        <parameter name="transport.vfs.FileSortAttribute">none</parameter>
        <parameter name="transport.vfs.FileSortAscending">true</parameter>
        <parameter name="transport.vfs.CreateFolder">true</parameter>
        <parameter name="transport.vfs.Streaming">false</parameter>
        <parameter name="transport.vfs.Build">false</parameter>
    </parameters>
</inboundEndpoint>

输出

问题是:

vfs变量,如File-UriFile-PathLast-Modified,系统地在发送到REST 端点的请求的Header中结束。

这不仅不太优雅,而且还引发了一个真正的安全问题,因为sftp File-Uri包含用户名和密码:

代码语言:javascript
复制
sftp://${user}:${password}@some_domain.com/somePath

尝试

我尝试了几个变量名来删除序列中的这个特定的标头:

  • fileURI
  • file-uri
  • File-Uri
  • FILE-URI
  • transport.vfs.fileURI

代码语言:javascript
复制
<header name="${some-name}" scope="transport" action="remove"/>

但是,这些变量总是最终出现在标题中。我该怎么修呢?是否需要正确地调优inbound-endpoint以将其传输变量封装在调用的变量中?

环境

6.5.0

  • fileconnector-2.0.20

  • wso2ei wso2ei
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-29 11:25:30

不确定是否有用,但我使用以下方法删除所有传输标头。

代码语言:javascript
复制
<property name="TRANSPORT_HEADERS" action="remove" scope="axis2"/>

或使用以下方法移除标题。

代码语言:javascript
复制
<property name="<name of the header to be removed>" scope="transport" action="remove"/>

也许值得一试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61481018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档