Friday, December 7, 2012

Working with the OSB File Adapter: Invalid Output Directory

Working on a Windows machine I created a service that writes out to a file as its output.  The eventual target of this deployment was a Linux server and I had both a local OSB environment (Windows) and a remote OSB environment (Linux). 
Upon publishing to the Local Environment I received the following error:

Error(s) found in module 'IdentityOIMService'. Publish was cancelled. See "Problems" view for details.
Invalid JCA transport endpoint configuration, exception: BINDING.JCA-11043
Invalid Interaction parameter.
Invalid Interaction parameter.
Interaction parameter Physical/Logical Output Directory has invalid value {/placeholder}.
Please correct the value of the interaction parameter and redeploy the process.

A portion of the error could also be seen by looking at the Business Service before deployment. If I placed a typically Windows path C:\some\path\ if the folder existed the error went away. This was not a permanent fix, since the final path would look something like /path/to/folder. 

 I however stumbled upon my solution by trying dynamic folder setting. I set my path to C:\some\path  But then set my transport properties to change the folder path at runtime. This actually cause the folder to be created since my user had permissions and I was able to search for it in the file system.

My installation of the OEPE and OSB local instance were on the D: drive so it looks at D:\, not C:\ as the root directory (/). Simply create a folder on the same drive as your installation, in my case D:\some\path could then be referenced as /some/path from OSB.

Guaranteed Versions

Windows 7 64-bit

No comments: