I have use case where I have to invoke FTP proxy on event. Here is scenario:
<ul><li> One http proxy invokes external workflow engine asynchronously and pass callback URL</li>
<li>Workflow creates result as zip file and place it on private FTP site</li>
<li>Workflow invokes callback and pass file path
<li>Callback is implemented as http proxy, and it should do some task and at the and invoke FTP proxy</li>
<li>FTP proxy has its own logic and moves files to user acceptable FTP site.</li>
I cannot use standard ftp monitoring since file is placed on FTP site before workflow is finished. I was pretty sure that it is possible with proper combination of FTP proxy parameters and ftp headers in routing node. However I couldn't make it work.
I tried disabling FTP proxy and setting fileName header before routing to it.
Any help and suggestions are welcomed.
As you've probably found out, this is not how OSB works. It doesn't really care about the file-names as much as the data in them. In other words, you cannot use (out of the box) OSB to receive a file-name and then simply move it around. Use a Java-callout to do that.
You can, however, easily call FTP midway through a flow. Simply invoke the FTP business service, and the data you pass will end up in a file on the FTP destination site.
In your case, you may consider simply using the file adapter. Put the file into a destination directory with the data you received. Have cron pick up the file, compress and send it to the destination site.
OSB doesn't do ZIP (if somebody knows otherwise I would be happy to learn), so you can use a file-adapter to write our the full data file uncompressed, a simply have external tools take over (external to OSB).