APPIAN RPA - IBM 3270 Workflow Library - Issue with set emulator and connect to Emulator

Hello,

Am working on Appian RPA POC to connect to Mainframes systems through Bluezone client.

For this am using the IBM 3270 workflow library provided by Appian. Am facing issues with methods(Set Emulator & Connect to Emulator).Set emulator from V1.0 library and connect to emulator from V2.0 library both are failing.

Set Emulator Error:

[STAT] 2022-01-04 11:07:09 28s (0h) - <ACTION_START> - Start action 'appian->eval-expression' - 'Extract Session Name' // dur: - - avg: - etc:
[STAT] 2022-01-04 11:07:09 28s (0h) - <ACTION_END> - End action 'appian->eval-expression' - 'Extract Session Name' (transition through 'A' to 'common-actions->pause') // dur: - - avg: - etc:
[STAT] 2022-01-04 11:07:09 28s (0h) - <ACTION_START> - Start action 'common-actions->pause' - 'Extract Session Name' // dur: - - avg: - etc:
[INFO] 2022-01-04 11:07:10 28s (0h) - Performing pause of 5 second(s)
[STAT] 2022-01-04 11:07:15 33s (0h) - <ACTION_END> - End action 'common-actions->pause' - 'Extract Session Name' (transition through '' to 'IBM3270Library:v1.0.0:setEmulator') // dur: 05s - avg: - etc:
[STAT] 2022-01-04 11:07:15 34s (0h) - <ACTION_START> - Start action 'IBM3270Library:v1.0.0:setEmulator' - 'IBM Set Emulator' // dur: - - avg: - etc:
[WARN] 2022-01-04 11:07:15 34s (0h) - Method manageException invoked
[ERROR] 2022-01-04 11:07:15 34s (0h) - java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.novayre.jidoka.client.RobotClientExecutor.invokeMethod(RobotClientExecutor.java:1504)
    at com.novayre.jidoka.client.RobotClientExecutor.onManageExceptionMethodCall(RobotClientExecutor.java:736)
    at com.novayre.jidoka.client.WorkflowProcessor.invokeManageExceptionMethod(WorkflowProcessor.java:202)
    at com.novayre.jidoka.client.WorkflowProcessor.manageException(WorkflowProcessor.java:239)
    at com.novayre.jidoka.client.WorkflowProcessor.start(WorkflowProcessor.java:150)
    at com.novayre.jidoka.client.RobotClientExecutor.workflow(RobotClientExecutor.java:692)
    at com.novayre.jidoka.client.RobotClientExecutor.runJavaTechnologyRobot(RobotClientExecutor.java:598)
    at com.novayre.jidoka.client.ETechnologyClient.runJava(ETechnologyClient.java:241)
    at com.novayre.jidoka.client.ETechnologyClient.lambda$static$1(ETechnologyClient.java:37)
    at com.novayre.jidoka.client.ETechnologyClient.run(ETechnologyClient.java:96)
    at com.novayre.jidoka.client.RobotClientExecutor.tryExecute(RobotClientExecutor.java:412)
    at com.novayre.jidoka.client.RobotClientExecutor.execute(RobotClientExecutor.java:223)
    at com.novayre.jidoka.client.ResponseHandler.execute(ResponseHandler.java:307)
    at com.novayre.jidoka.client.ResponseHandler.robotDeclaredResponse(ResponseHandler.java:261)
    at com.novayre.jidoka.client.ResponseHandler.onMessage(ResponseHandler.java:146)
    at com.novayre.jidoka.client.ClientManager.processResponse(ClientManager.java:1720)
    at com.novayre.jidoka.client.ClientManager.internalSendCommandRetry(ClientManager.java:1421)
    at com.novayre.jidoka.client.ClientManager.internalSendCommand(ClientManager.java:1287)
    at com.novayre.jidoka.client.ClientManager.sendCommand(ClientManager.java:1067)
    at com.novayre.jidoka.client.ClientManager.sendCommand(ClientManager.java:1056)
    at com.novayre.jidoka.client.ClientManager.loop(ClientManager.java:1047)
    at com.novayre.jidoka.client.ClientManager.realConnectToServer(ClientManager.java:929)
    at com.novayre.jidoka.client.ClientManager.connectToServer(ClientManager.java:887)
    at com.novayre.jidoka.client.JidokaClient.connect(JidokaClient.java:1032)
    at com.novayre.jidoka.client.JidokaClient.mainLoop(JidokaClient.java:588)
    at com.novayre.jidoka.client.JidokaClient.run(JidokaClient.java:574)
    at com.novayre.jidoka.client.JidokaClient.main(JidokaClient.java:403)
Caused by: com.novayre.jidoka.client.api.exceptions.JidokaException: Error invoking 'IBM3270Library:v1.0.0:setEmulator' (of library class 'com.appian.rpa.library.ibm3270.IBM3270Library')
    at com.novayre.jidoka.client.RobotClientExecutor.invokeMethod(RobotClientExecutor.java:1261)
    at com.novayre.jidoka.client.RobotClientExecutor.internalCallAction(RobotClientExecutor.java:869)
    at com.novayre.jidoka.client.RobotClientExecutor.onMethodCall(RobotClientExecutor.java:724)
    at com.novayre.jidoka.client.WorkflowProcessor.start(WorkflowProcessor.java:139)
    ... 22 more
Caused by: java.lang.IllegalArgumentException: Found 0 instances into class com.appian.rpa.library.ibm3270.IBM3270Library of method setEmulator
    at com.novayre.jidoka.client.RobotClientExecutor.invokeParameterizedMethod(RobotClientExecutor.java:1322)
    at com.novayre.jidoka.client.RobotClientExecutor.internalInvokeMethod(RobotClientExecutor.java:1299)
    at com.novayre.jidoka.client.RobotClientExecutor.invokeMethod(RobotClientExecutor.java:1244)
    ... 25 more

Connect to Emulator method from V2 library is failing all time saying not able to find dll but the dll exists.

Connect to Emulator Method Error: Tried with ehlapi32.dll,Pcshll32.dll,whlapi32.dll,rtn3270e.dll .. All resulted in same error.

[STAT] 2022-01-04 11:02:02 43s (0h) - <ACTION_END> - End action 'common-actions->pause' - 'Extract Session Name' (transition through '' to 'IBM3270Library:v2.0.0:connectToEmulator') // dur: 05s - avg: - etc:
[STAT] 2022-01-04 11:02:02 43s (0h) - <ACTION_START> - Start action 'IBM3270Library:v2.0.0:connectToEmulator' - 'IBM Connect to Emulator' // dur: - - avg: - etc:
[WARN] 2022-01-04 11:02:03 44s (0h) - Method manageException invoked
[ERROR] 2022-01-04 11:02:03 44s (0h) - java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.novayre.jidoka.client.RobotClientExecutor.invokeMethod(RobotClientExecutor.java:1504)
at com.novayre.jidoka.client.RobotClientExecutor.onManageExceptionMethodCall(RobotClientExecutor.java:736)
at com.novayre.jidoka.client.WorkflowProcessor.invokeManageExceptionMethod(WorkflowProcessor.java:202)
......
at com.novayre.jidoka.client.JidokaClient.connect(JidokaClient.java:1032)
at com.novayre.jidoka.client.JidokaClient.mainLoop(JidokaClient.java:588)
at com.novayre.jidoka.client.JidokaClient.run(JidokaClient.java:574)
at com.novayre.jidoka.client.JidokaClient.main(JidokaClient.java:403)
Caused by: com.novayre.jidoka.client.api.exceptions.JidokaException: Error invoking 'IBM3270Library:v2.0.0:connectToEmulator' (of library class 'com.appian.rpa.library.ibm3270.IBM3270Library')
at com.novayre.jidoka.client.RobotClientExecutor.invokeMethod(RobotClientExecutor.java:1261)
at com.novayre.jidoka.client.RobotClientExecutor.internalCallAction(RobotClientExecutor.java:869)
at com.novayre.jidoka.client.RobotClientExecutor.onMethodCall(RobotClientExecutor.java:724)
at com.novayre.jidoka.client.WorkflowProcessor.start(WorkflowProcessor.java:139)
... 22 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.novayre.jidoka.client.RobotClientExecutor.invokeParameterizedMethod(RobotClientExecutor.java:1340)
at com.novayre.jidoka.client.RobotClientExecutor.internalInvokeMethod(RobotClientExecutor.java:1299)
at com.novayre.jidoka.client.RobotClientExecutor.invokeMethod(RobotClientExecutor.java:1244)
... 25 more
Caused by: java.lang.UnsatisfiedLinkError: Unable to load library 'rtn3270e': Native library (win32-x86-64/rtn3270e.dll) not found in resource path ([file:/C:/Users/.....<Removed the path from log for security reason>
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:303)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:427)
at com.sun.jna.Library$Handler.<init>(Library.java:179)
at com.sun.jna.Native.loadLibrary(Native.java:569)
at com.appian.rpa.library.ibm3270.ehll.EhllImpl.<init>(EhllImpl.java:41)
at com.appian.rpa.library.ibm3270.ehll.Ehll.create(Ehll.java:16)
at com.appian.rpa.library.ibm3270.IBM3270Library.connectToEmulator(IBM3270Library.java:105)
... 32 more

I followed the approach given in pdf documentation. Could you please check the attached errors and help me where its going wrong if anyone of you have faced the same issue.

Regards,
Sandhya

  Discussion posts and replies are publicly visible

  • Hi,

    If anyone facing same issue like i do here are my observations:

    As of today, We have 2 libraries for IBM 3270 like as follows.

    1. com.appian.rpa.library-ibm-3270-library-1.0.0 

    2. ibm-3270-workflow-library-for-appian-rpa-2.0.0

    I figured out that we cannot combine methods from version 1.0.0 and 2.0.0 else above mentioned error occurs while using this library for Bluezone Emulator which uses TN3270or TN3270/E.

    As i was not able to successfully use the connect to emulator method from 2.0.0 library, I tried to use set emulator method from 1.0.0 version before i use other methods  like write here/ go to coordinates from 2.0.0 version. Then i receive below error making set emulator method fail.

    Caused by: java.lang.IllegalArgumentException: Found 0 instances into class com.appian.rpa.library.ibm3270.IBM3270Library of method setEmulator

    If you use set emulator method from version 1.0.0 then continue to use methods from version 1.0.0 especially when using bluezone.

    If anyone of you used Connect to Emulator method from version 2.0.0, please share your inputs then it might help us to use 2.0.0 methods.

    Regards,
    Sandhya