Friday, May 11, 2012

How to resolve: java.lang.NoClassDefFoundError: oracle/j2ee/ws/common/jaxws/ServiceDelegateImpl

Cited below error can occur when exist problem related to runtime access to wsclient.jar library.
Exception in thread "main" java.lang.NoClassDefFoundError: oracle/j2ee/ws/common/jaxws/ServiceDelegateImpl
    at oracle.bpel.services.workflow.client.WorkflowServiceClientFactory.getWorkflowServiceClient(WorkflowServiceClientFactory.java:155)
    at jnditest.WorklistClient.connect(WorklistClient.java:24)
    at jnditest.JNDITest.main(JNDITest.java:37)
Caused by: java.lang.ClassNotFoundException: oracle.j2ee.ws.common.jaxws.ServiceDelegateImpl
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
    ... 3 more

The error message says "java.lang.NoClassDefFoundError: oracle/j2ee/ws/common/jaxws/ServiceDelegateImpl" which means that your application can't access this class. Also you must add appropriate jar including not found class to application classpath.

In case of ServiceDelegateImpl you should add %JDEV_HOME%\oracle_common\modules\oracle.webservices_11.1.1\wsclient.jar. If you are using JDeveloper, you can do this as shown below:

1. Click Project Properties menu item on your Project  in Project Inspector
2. Select Libraries and Classpath


3. Click Add JAR/Directory
 

4. Find appriopriate library and confirm selection

No comments:

Post a Comment