Вы не можете использовать регулярные выражения в источнике при разархивировании.Если вы могли бы тогда, что произойдет, если существует несколько совпадающих файлов?
Если вы знаете, что zip-файл всегда будет находиться в этом каталоге, то вы можете использовать поиск по коннектору файлов, чтобы узнать имяfile.
<fileconnector.search>
<source>file:///D:/AfterProcess/</source>
<filePattern>.*\.zip</filePattern>
<recursiveSearch>False</recursiveSearch>
</fileconnector.search>
Поиск вернет следующее, если это единственный zip-файл в каталоге.
<fc:result xmlns:fc="http://org.wso2.esbconnectors.FileConnector">
<fc:file>/AfterProcess/Hello.zip</fc:file>
</fc:result>
Оттуда вы можете ввести путь в функцию распаковки.Вам нужно добавить к результату поиска префикс file:///D:
, чтобы снова сделать его абсолютным путем.
<fileconnector.unzip>
<source xmlns:fc="http://org.wso2.esbconnectors.FileConnector">{fn:concat('file:///D:', //fc:result/fc:file/text())}</source>
<destination>file:///D:/001/</destination>
</fileconnector.unzip>