cancel
Showing results for 
Search instead for 
Did you mean: 

Error spying in Java Application with JAB 2.02

Bryant.backus
Level 3
Hello,

I am having trouble trying to spy elements in Java once I have installed the JAB 2,02.

We run 5 different updates of JAVA:

  • JRE6
  • JRE1.6.0_12
  • JRE1.6.0_24
  • JRE7
  • JRE1.8.0_181

Originally there was NO JAB installed and we had no problems spying elements in applications using JRE7 or JRE1.8.0_181.

We started having to automate applications that are using older versions of Java so we manually installed JAB for JRE6, JRE1.6.0_12, and JRE1.6.0_24. Once installed we are able to spy elements in java applications that use those version with no issues. We verified that JAB is working correctly using both Java Ferret and Java Monkey.

Once JAB was installed we started having issues spying elements in Java applications that are using JRE7 or JRE1.8.0_181. When attempting to spy al element we get the following error, "There was an error during the spying operation."  the details are as follows:

System.ApplicationException: Exception getting Java Identfier KeyBindings Exception: Index was outside the bounds of the array.
at BluePrism.AMI.clsAMI.Spy(clsElementTypeInfo& elementType, List`1& identifiers)
at AutomateUI.frmIntegrationAssistant.aa(Object fvg, EventArgs fvh)

all the elements will highlight. The error only comes when trying to select the element. I also tried to use the identify> Open application navigator option which leads to the error, "An error occurred retrieving the application model" with details as follows:

BluePrism.BPCoreLib.BluePrismException: Failed to get snapshot - ERROR - ERROR:Exception getting Java Identfier KeyBindings Exception: Index was outside the bounds of the array.
at BluePrism.AMI.clsAMI.GetElementTree(String mode, Boolean includeInvisible, clsProgressMonitor monitor, String snapshot)
at AutomateUI.frmApplicationTreeNavigator.d(Object fsw, DoWorkEventArgs fsx)
at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)

I've tried a couple fixes presented such as restoring the WindowsAccessBridge-32.dll held in C:\Windows\SysWOW64 directory the from another machine. I also made sure that the JavaAccessBridge-64.dll, JAWTAccessBridge-64.dll, and WindowsAccessBridge-64.dll were all placed in the Blue Prism Limited\Blue Prism Automate directory. I even tried placing the JavaAccessBridge-32.dll, JAWTAccessBridge-32.dll, and WindowsAccessBridge-32.dll, JavaAccessBridge.dll, JAWTAccessBridge.dll, and WindowsAccessBridge.dll files there to see if it made a difference.

Nothing I have tried has allowed me to spy elements successfully in ALL versions of Java. I verified using java ferret and Java Monkey that JAB is working in the newer versions of Java as well. 

Any help would be appreciated. Thank you in advance.





------------------------------
Bryant Backus
------------------------------

2 REPLIES 2

Bryant.backus
Level 3
Update:

I was able to figure out a sort of workaround. I removed the files added to the blue prism automate folder. I then uninstalled JAB. when I reinstalled, I did NOT add any dlls to the system32 folder. This allowed me to run automations in all versions of Java on the same machine. Previously I could only run and spy in the older versions of Java when jab was installed, and only in the newer versions when jab was uninstalled. At least now I can run automations in all versions.

The drawback here is that I still cannot spy elements in the older Java versions. I am able to highlight existing elements spied in the application, but when I try to spy or open the application modeler, Blue Prism crashes and closes.

I am still able to spy in the newer versions of java that do not need jab installed.

Still, if anyone was able to solve this issue it would be greatly appreciated.

------------------------------
Bryant Backus
------------------------------

Hi Bryant,

Use the Java Ferret to check against your Java application what version JRE is using and from which folder (because you have multi JRE on your system).

You may need to install the JAB manually into that JRE folder, it can be a customized JRE of the old version of the JRE.


------------------------------
Hossein Azimi
Customer Support Engineer, APAC
Blue Prism
Sydney NSW
------------------------------