As a test project, I created a very simple WebService using wsdl and jax-ws. The client works very well if it is deployed as a web application in GlassFish, but if I run the same (WebService-) code in Eclipse directly, I get the following error:
WARNUNG: Input Action on WSDL operation AddNumbers and @Action on its associated Web Method addNumbers did not match and will cause problems in dispatching the requests Exception in thread "main" java.lang.NoClassDefFoundError: org/glassfish/ha/store/api/BackingStoreException at com.sun.xml.ws.rx.mc.runtime.McConfigurationFactory.createInstance(McConfigurationFactory.java:66) at com.sun.xml.ws.rx.mc.runtime.McTubeFactory.createTube(McTubeFactory.java:68) at com.sun.xml.ws.assembler.TubeCreator.createTube(TubeCreator.java:84) at com.sun.xml.ws.assembler.TubelineAssemblerFactoryImpl$MetroTubelineAssembler.createClient(TubelineAssemblerFactoryImpl.java:130) at com.sun.xml.ws.client.Stub.createPipeline(Stub.java:228) at com.sun.xml.ws.client.Stub.<init>(Stub.java:205) at com.sun.xml.ws.client.Stub.<init>(Stub.java:178) at com.sun.xml.ws.client.sei.SEIStub.<init>(SEIStub.java:85) at com.sun.xml.ws.client.WSServiceDelegate.createEndpointIFBaseProxy(WSServiceDelegate.java:608) at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:348) at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:330) at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:312) at javax.xml.ws.Service.getPort(Service.java:134) at mnm.namedesdienstes.webservice.service.NameDesDienstesService.getNameDesDienstesPortTypePort(NameDesDienstesService.java:56) at webserviceClient.NameDesDienstesClient.myTest(NameDesDienstesClient.java:12) at webserviceClient.NameDesDienstesClient.main(NameDesDienstesClient.java:25) Caused by: java.lang.ClassNotFoundException: org.glassfish.ha.store.api.BackingStoreException 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:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) ... 16 more
After some research, it turned out that this should have something to do with the different versions of some library files. So now my question is how can I “fix” java eclipse execution to start my webservice client correctly? I found some tips for copying some jar to a directory that was approved, but which banks to which directory :-)
I am using Max OS 10.6.8, Eclipse Project uses JVM 1.6. My Mac Java Version
xmacbook:~ cstraube$ java -version java version "1.6.0_26" Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425) Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
UPDATE My first attempt (thanks to the link from remipod). I have completed the following steps:
- Get the catalog of approved lirbs using
System.out.println(System.getProperty("java.endorsed.dirs")); - Then I copied the two files JAXWS2.1.7-20090419.jar and JAXB2_20080513.jar (both versions 2.1.7) into this directory
- Sorry, I get the same error
source share