Hi all, I’m going to do my best to prevent this from being an XY question.
I am running into an issue with getting UiPath to automate the AS400 console emulator.
The human workflow looks like this:
- Download new hire paperwork.
- Open AS400 Console and log in.
- Open imaging app.
- Initiate upload in AS400 console. Imaging app connects to AS400 via EHLLAPI and files are uploaded into AS400.
The terminal emulator I’m using is the new one, the Java Swing application that works with .hod files rather than .ws files. This precludes me from using the IBM Personal Communications provider, which only supports the legacy terminal emulator.
Here are the solutions I’ve tried:
- Manipulate console with UI Automation activities.
- This is the most successful option, however I need to wait for the AS400 terminal to provide a message saying the upload has completed. No Get Text activity (legacy or modern) allows me to get any text displayed on the screen. We also do not have licensing for UiPath OCR, but Tesseract OCR (via legacy activities) doesn’t require a license. Using Tesseract OCR gets me inconsistent results, but is mostly reliable (about 70% accuracy).
- Direct Connection.
- This allows me to use the terminal activities, making waiting for certain text a breeze. However, because this is a direct connection, the imaging app does not see a session to connect to and will not perform the upload.
- EHLLAPI.
- This seems to be the option that makes the most sense, however attempting to use this option gets me an error saying “EhllDllNotFound”.
Things I have tried:
- I have two locations where the EhllAPI.dll file can be found. I have tried selecting both of these files. Both result in the same not found error.
- Fuzzy comparisons with OCR results. This gets me slightly better results but still isn’t consistent enough to use in production.
- Install Java plugin, execute acslaunch_win-64.exe with the
/PLUGIN=PCS
parameter, waiting a couple seconds, then opening the .hod file, then connecting to the terminal via EHLLAPI. This results in the behavior described above with the not found error.- I’ve tried the two ehll dlls in the two locations as well as pcshll32.dll. None are successful and all return the not found error.
Given the prevalence of the not found error, despite whichever DLL is chosen, I have to guess that this is error is a false positive. That is, it has nothing to do with the DLL not being found, despite the text of the error message. I also know that connecting to the session in this method is supported as the imaging app is successful when performing the steps manually. It’s just connecting to the session via the terminal session that does not appear to work.
Sources
- Connect Terminal Session Client Solutions IBM with EHLLAPI ( IBM\EHLLAPI) - #3 by cornel
- Error "There Was An Error Connecting To Terminal Error Code EhllDllNotFound" While Connecting To The Terminal Using Terminal Session Activtiy
I should also note that I’m running Studio 24.10, my terminal activities version is 2.7.3, and I am running the latest version of any available nuget packages.