Reputation: 351
I am trying to access a jms queue configured on Websphere Application Server 8. But I am getting java.lang.NoClassDefFoundError: com.ibm.ws.naming.util.CommonHelpers Exception. Can anyone suggest a solution? Does any jar file needs to be added? I have already added -
com.ibm.ws.messagingClient.jar
com.ibm.ws.sib.client_ExpeditorDRE_8.0.0.jar
com.ibm.ws.sib.client.thin.jms_8.0.0.jar
com.ibm.xml.thinclient_8.0.0.jar
in classpath. You can find the code at How to set Context.INITIAL_CONTEXT_FACTORY? NoInitialContextException?
package com.jms.test;
import java.util.Hashtable;
import javax.jms.Queue;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
public class Demo {
public static void main(String[] args) throws NamingException {
System.out.println("Start.....");
Hashtable environment = new Hashtable();
environment.put(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory");
environment.put(Context.PROVIDER_URL, "iiop://localhost:2810");
//String pUrl = System.getProperty(Context.PROVIDER_URL);
//System.out.println("*******"+pUrl+"********");
InitialContext ctx = new InitialContext(environment);
Queue queue = (Queue) ctx.lookup("jms/inQueue");
System.out.println("*** Queue is *** "+queue.toString());
}}
Exception Stack Trace -
Exception in thread "main" java.lang.NoClassDefFoundError: com.ibm.ws.naming.util.CommonHelpers
at com.ibm.websphere.naming.WsnInitialContextFactory.getInitialContext(Unknown Source)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:230)
at javax.naming.InitialContext.initializeDefaultInitCtx(InitialContext.java:313)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:343)
at javax.naming.InitialContext.internalInit(InitialContext.java:281)
at javax.naming.InitialContext.<init>(InitialContext.java:206)
at com.jms.test.Demo.main(Demo.java:16)
Caused by: java.lang.ClassNotFoundException: com.ibm.ws.naming.util.CommonHelpers
at java.net.URLClassLoader.findClass(URLClassLoader.java:434)
at java.lang.ClassLoader.loadClass(ClassLoader.java:646)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:358)
at java.lang.ClassLoader.loadClass(ClassLoader.java:612)
... 7 more
Upvotes: 1
Views: 7968
Reputation: 18050
Try to add com.ibm.ws.admin.client_8.5.0.jar
it is in the WebSphere\AppServer85\runtimes
folder. CommonHelpers
class is in that jar.
UPDATE for comment
This might be related to SSL required. Please check these two post how to disable SSL:
Upvotes: 2