08-25-2013 04:23 AM - edited 08-25-2013 04:27 AM
Running a custom IAction which calls a SiteScope API method. So I must include the SiteScope API jars (source file attached).
Debugging using the suspend=y option I see that the action crashes at the point where I actually call the SiteScope method (full stack attached):
ERROR [11982507@qtp0-181] (01:37:34,730) com.iconclude.webservices.ras.RCAgentServiceSoapBi
INFO | jvm 1 | 2013/08/18 01:37:34 | java.lang.RuntimeException: error instantiating action class: SitescopeAlertsDisable.jar/com/hp/saas/oo/content/
It seems that this linkage error occurs when a class is loaded by two classloaders who name their instance of it with a different name.
Why are two class loaders at work here?
- I import the SiteScope API into my class.
- I don't export the SiteScope API libs themselves. I don't export .classpath (project snapshot attached)
- I place the SiteScope API jars in the lib/AlertsDisableAssociated directory which I created on the RAS.
So I expect OO to link just once. What am I doing wrong?
Solved! Go to Solution.
08-26-2013 04:32 AM
Have you tried to name the folder under lib: SitescopeAlersDisable?
According to the screenshot you've attached this may be the issue (name of the jar and the folder differs)
08-26-2013 07:49 AM
Thanks. When I wrote above "I place the SiteScope API jars in the lib/AlertsDisableAssociated" I made a mistake, I meant lib\SitescopeAlertsDisable".
I have attached a snapshot (sameName.jpg). Have a look - I think this at least is correct.
12-05-2013 07:32 AM
The reason was that a few libraries were duplicated in the IActions private directory: jaxrpc, axis and commons-logging.
The class loader had already loaded those. Removing them from the private directory solved the issue.