Ok, I think I finally understood the issue and what's going on. What we have when we use Jenkins' File parameter is a FileParameterValue.
The Jelly file used to render is very simple and it seems like the part we are missing here is that the input field's name must be "file", not "value".
If you want to cascade to other parameters, I think you will have to find some JavaScript that reacts to the event when the user chooses the file, then copies the file name in another input name="value".
So in summary, the only thing I changed from your example to get it working was: <input name="file" type="file" jsonAware="true" />
To match Jenkins' jelly file.
Could you check if that works for you ioannis, please? Here's a screen shot (also checked in the disk, and both files were uploaded, but no file name in the latter).
After investigating a bit more, the issue is as follows:
When the AC-RefParam is rendered as:
When the AC-RefParam is rendered as:
This is expected as we need to render a parameter with name="value". It's just not useful for us to propagate the name of the selected file.