At one of our clients recently we encountered a strange situation that required Oracle's help to resolve.
We are reading a series of XML files from a directory using a custom function called from a master UBE (We did not use WebServices for performance reasons) and load them into a table for processing. After we load, the master UBE calls a number of UBEs synchronously to process the files.
What we discovered was that the called UBEs were not executing at all. In the log, we found an error that the security token could not be renewed. Very mysterious!
After a few calls back and forth with support, we narrowed it down to a function called jdeChdir. This function changed the directory for us where the files were kept (the location is on a processing option for each environment). This worked fine. However, calling this function not only changes it for the function, but for the entire UBE process running. To call the next UBE, the system looked for the security server in the directory that we had changed it to using the jdeChdir function!
To get around it, we got rid of that function and instead used the processing option directly without changing the directory to list the files in the directory. Oracle has put a new article on My Oracle Support for it - 1321239.1
After fixing that function, our called UBEs now execute properly!