Я столкнулся с некоторым странным поведением при анализе заголовков http в следующей процедуре
| sftp folder | ==vfs=> | ESB processing | ===http===> REST endpoint
IN
Файлы читаются из папки со следующей входящей конечной точкой :
<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>
OUT
Проблема заключается в том, что
переменные VFS, такие как File-Uri
, File-Path
или Last-Modified
, систематически оказываются в Заголовки запросов, отправленных в конечную точку REST
Мало того, что это не совсем элегантно, но это поднимает реальную проблему безопасности , для sftp File-Uri
включают имя пользователя и пароли :
sftp://${user}:${password}@some_domain.com/somePath
Попытки
Я попытался несколько имен переменных, чтобы удалить эту спецификацию * Заголовок 1075 * в моих последовательностях:
fileURI
file-uri
File-Uri
FILE-URI
transport.vfs.fileURI
<header name="${some-name}" scope="transport" action="remove"/>
но эти переменные всегда попадают в заголовки. Как мне это исправить? Это вопрос правильной настройки inbound-endpoint для инкапсуляции его транспортных переменных из переменных call ?
[ environment ]
- wso2ei 6.5.0
- fileconnector-2.0.20