Error connecting Agile PLM Cluster trhough Java API
Hello,
We’re trying to connect to the Agile PLM API using a code that works on Agile Stand Alone but when it is run on a cluster I get the error:
Exception creating response stream
Missing class: com.agile.admin.security.weblogic.WLSUserImpl
————————————————————————
- Log:
(…)
weblogic.rjvm.PeerGoneException: ; nested exception is:
weblogic.utils.NestedException: java.lang.AssertionError: Exception creating response stream
(…)
Caused by: oracle.classloader.util.AnnotatedClassNotFoundException:
(…)
Missing class: com.agile.admin.security.weblogic.WLSUserImpl
Dependent class: java.io.ObjectInputStream
Loader: jre.bootstrap:1.7.0_02
Code-Source: unknown
Configuration: jre bootstrap
This load was initiated at ide-global:11.1.1.0.0 using the Class.forName() method.
The missing class is not available from any code-source or loader in the system.
at oracle.classloader.PolicyClassLoader.handleClassNotFound(PolicyClassLoader.java:2190)
at oracle.classloader.PolicyClassLoader.internalLoadClass(PolicyClassLoader.java:1733)
at oracle.classloader.PolicyClassLoader.access$000(PolicyClassLoader.java:143)
at oracle.classloader.PolicyClassLoader$LoadClassAction.run(PolicyClassLoader.java:331)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.classloader.PolicyClassLoader.loadClass(PolicyClassLoader.java:1692)
at oracle.classloader.PolicyClassLoader.loadClass(PolicyClassLoader.java:1674)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:622)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1593)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1514)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1750)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
at java.util.LinkedList.readObject(LinkedList.java:1136)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
(…)
Error code : 60086
Error message : Call APIException.getRootCause() for details.
Root Cause exception : weblogic.rjvm.PeerGoneException: ; nested exception is:
weblogic.utils.NestedException: java.lang.AssertionError: Exception creating response stream
————————————————————————
- Applied Solutions (No success):
->Use a Weblogic native user (This corrected a previous 401 Not authorized error).
->Place crypto.jar and wlsauth.jar in the lib folder of Weblogic and modify the Web server Classpath.
The files “.jar” appear assigned to CLASSPATH into “<Sever>-ManagedServer1.out” .
->Import com.agile.admin.security.weblogic.WLSUserImpl (from wlsauth.jar) in client SDK code.
->Change java code to use “factory = AgileSessionFactory.refreshInstance(URL)”.
————————————————————————
- Environment:
->Agile PLM 9.3.3
->Agile SO: Linux
->App Server: Weblogic
->Client SDK and Agile Weblogic are in different servers but in same network.
->There is no firewall between Agile Weblogic Server and SDK Client Server.
————————————————————————
Can someone help us please?
More info on the issue: https://docs.oracle.com/cd/E60149_28/otn/pdf/integration/agaap.pdf (page 33)
Are you creating the factory using the cluster specific way ?
AgileSessionFactory factory = AgileSessionFactory.refreshInstance(URL);
Below will NOT work on cluster:
AgileSessionFactory factory = AgileSessionFactory.getInstance(URL);
Greg
Hi, have you find the solution for this problem? I get a same error.
Samalendu Mahakud
Hi, We are facing the exact same error. How did you fix this?