0

I have webservices deployed on WAS that use Clearquest jars to connect to Clearquest. At runtime, I get the following errors.

java.lang.Exception: Cannot parse the output since it has an error. Error = ReasonCode = conflictCRVAP0049E (internal-error):  Cannot instantiate protocol provider: cqjnilinuxproxy (Not found in java.library.path) 
  ...java.lang.reflect.InvocationTargetException: 
        at com.ibm.rational.stp.cs.internal.util.StpExceptionImpl.realException(StpExceptionImpl.java:493)
        at com.ibm.rational.stp.cs.internal.util.StpExceptionImpl.<init>(StpExceptionImpl.java:572)


Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:56)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:39)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:527)
        at com.ibm.rational.stp.client.internal.core.ProtocolSubprovider.setProtocolProvider(ProtocolSubprovider.java:614)
        ... 57 more
Caused by: java.lang.UnsatisfiedLinkError: cqjnilinuxproxy (Not found in java.library.path)
        at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1090)
        at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:1054)
        at java.lang.System.loadLibrary(System.java:510)
        at com.rational.clearquest.cqjni.CQJNIBaseObj.<clinit>(Unknown Source)
        at java.lang.J9VMInternals.initializeImpl(Native Method)
        at java.lang.J9VMInternals.initialize(J9VMInternals.java:235)
        at java.lang.J9VMInternals.initialize(J9VMInternals.java:202)
        at com.ibm.rational.stp.client.internal.cqjni.CqJniProtocol.<init>(CqJniProtocol.java:2343)
        ... 62 more

I followed the technote https://www-304.ibm.com/support/docview.wss?uid=swg21515079 - "An exception occurs on 64-bit WebSphere servers when running reports from ClearQuest data sources that require the Java Native Interface (JNI).

As suggested, WAS 32-bit was installed instead on 64 bit. But the error still occurs. Can you please let me know where this library is or what is going wrong?

Thanks, Aarthi

dev
  • 1,343
  • 2
  • 19
  • 40
user1384205
  • 1,231
  • 3
  • 20
  • 39
  • The error indicates that the native library file could not be found at all, not that it was the wrong bitness (though you might have later hit that problem). What platform are you running on? What is the name of the native library file? Where did you put the native library file on the file system? How did you configure the process or WebSphere to find the native library file? – Brett Kail Aug 07 '15 at 13:45
  • Hi, The only place where I could find a similar reference to library in question (cqjnilinuxproxy) is under the path /opt/rational/clearquest/linux_x86/shlib where I find files such as libcqjnilinuxproxy.so, libcqquery.so, libicuioratlcq.so.48.0, libcqjniproxy.so etc. I tried adding this path to WAS shared libraries and included that in my application's ear reference library section in WAS. The error still remains. Please let me know what I can do here. – user1384205 Aug 14 '15 at 10:53
  • I would recommend writing a simple standalone Java program that does a System.loadLibrary and figure out the configuration required to make that work, and then transfer that to configuration to WAS. If you add the native lib to the EAR, CQJNIBaseObj must be loaded by the app class loader, not the WAR class loader. In any case, you are recommended to add the native lib to the server isntead: https://www-01.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.nd.doc/ae/tcws_sharedlib_nativelib.html?lang=en – Brett Kail Aug 14 '15 at 15:55

1 Answers1

0

The ClearQuest libraries and jars need to be placed on the path so WebSphere can pick them up. Did you source cq_setup.csh prior to starting the WebSphere profile? You would need to source cq_setup.csh and then start the profile in the same shell.