Topic
  • 1 reply
  • Latest Post - ‏2013-11-26T08:39:31Z by 260F_Antonio_Llorente_Menéndez
flowenol
flowenol
2 Posts

Pinned topic WAS 7.0 shared library dir in EAR & JAX-WS WSDL generation

‏2009-02-17T10:51:51Z |
Hello,

Since I've switched to WAS 7.0, I've decided to give a try
to the shared library directory that now may be specified in EAR ver 5.0
deployment descriptor. I've managed to reorganize my EAR and got rid
of those nasty module dependencies that used to be pain in somewhere,
but unfortunately stumbled across some 'ClassNotFound' issues concerning
WSDL generation for JAX-WS webservices during application deployment.
However, I was astonished to discover that after several pages of stack
traces my application deploys and works fine and JAX-WS webservices
return the generated WSDL when requested. My WAR's that contain JAX-WS
annotated interfaces depend on classes which now belong to shared library
directory JAR's.

I wonder if this is some WAS related problem or I have misconfigured
something in my application. This is not a blocker, but it prevents
my deployments from being clean.

Here is a snippet of ClassNotFound stack traces:

00000026 WSModuleDescr E WSWS7027E: JAX-WS Service Descriptions could not be correctly built because of the following error: javax.xml.ws.WebServiceException: WSWS7054E: The Web Services Description Language (WSDL) file could not be generated for the com.ibm.pl.gbs.mswia.service.core.pesel.peselserviceprovider.IPeselServiceBindingImpl Web service implementation class because of the following error: java.lang.NoClassDefFoundError: com.ibm.pl.gbs.mswia.domain.pesel.DaneOsoby
at com.ibm.ws.websvcs.wsdl.WASWSDLGenerator.generateWsdl(WASWSDLGenerator.java:198)
at org.apache.axis2.jaxws.description.impl.EndpointDescriptionImpl.generateWSDL(EndpointDescriptionImpl.java:1915)
at org.apache.axis2.jaxws.description.impl.EndpointDescriptionImpl.<init>(EndpointDescriptionImpl.java:420)
at org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl.<init>(ServiceDescriptionImpl.java:363)
at org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl.<init>(ServiceDescriptionImpl.java:271)
at org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl.createServiceDescriptionFromDBCMap(DescriptionFactoryImpl.java:255)
at org.apache.axis2.jaxws.description.DescriptionFactory.createServiceDescriptionFromDBCMap(DescriptionFactory.java:459)
at com.ibm.ws.websvcs.desc.WSModuleDescriptorImpl.buildJAXWSServices(WSModuleDescriptorImpl.java:689)
at com.ibm.ws.websvcs.desc.WSModuleDescriptorImpl.containsJAXWSWebServices(WSModuleDescriptorImpl.java:337)
at com.ibm.ws.webservices.admin.deploy.ServiceIndexDataBuilder.getWSData(ServiceIndexDataBuilder.java:66)
at com.ibm.ws.webservices.admin.deploy.ServiceIndexServerTaskImpl.listWebServices(ServiceIndexServerTaskImpl.java:173)
at com.ibm.ws.webservices.admin.deploy.ServiceIndexServerTaskImpl.listWebServices(ServiceIndexServerTaskImpl.java:131)
at com.ibm.ws.webservices.admin.deploy.ServiceIndexServerTask.performTask(ServiceIndexServerTask.java:95)
at com.ibm.ws.management.application.SchedulerImpl.run(SchedulerImpl.java:284)
at java.lang.Thread.run(Thread.java:735)
Caused by: java.lang.NoClassDefFoundError: com.ibm.pl.gbs.mswia.domain.pesel.DaneOsoby
at java.lang.Class.getDeclaredFieldsImpl(Native Method)
at java.lang.Class.getDeclaredFields(Class.java:543)
at com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator.getDeclaredFields(ReflectionNavigator.java:225)
at com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator.getDeclaredFields(ReflectionNavigator.java:34)
at com.sun.xml.internal.bind.v2.model.impl.ClassInfoImpl.findFieldProperties(ClassInfoImpl.java:336)
at com.sun.xml.internal.bind.v2.model.impl.ClassInfoImpl.getProperties(ClassInfoImpl.java:270)
at com.sun.xml.internal.bind.v2.model.impl.RuntimeClassInfoImpl.getProperties(RuntimeClassInfoImpl.java:152)
at com.sun.xml.internal.bind.v2.model.impl.ModelBuilder.getClassInfo(ModelBuilder.java:202)
at com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:72)
at com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:54)
at com.sun.xml.internal.bind.v2.model.impl.ModelBuilder.getClassInfo(ModelBuilder.java:168)
at com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:67)
at com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(RuntimeModelBuilder.java:54)
at com.sun.xml.internal.bind.v2.model.impl.ModelBuilder.getTypeInfo(ModelBuilder.java:274)
at com.sun.xml.internal.bind.v2.model.impl.ModelBuilder.getTypeInfo(ModelBuilder.java:289)
at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:428)
at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:282)
at com.sun.xml.internal.bind.v2.ContextFactory.createContext(ContextFactory.java:115)
at com.sun.xml.internal.bind.api.JAXBRIContext.newInstance(JAXBRIContext.java:101)
at com.sun.xml.internal.ws.model.AbstractSEIModelImpl$1.run(AbstractSEIModelImpl.java:138)
at com.sun.xml.internal.ws.model.AbstractSEIModelImpl$1.run(AbstractSEIModelImpl.java:136)
at java.security.AccessController.doPrivileged(AccessController.java:251)
at com.sun.xml.internal.ws.model.AbstractSEIModelImpl.createJAXBContext(AbstractSEIModelImpl.java:136)
at com.sun.xml.internal.ws.model.AbstractSEIModelImpl.postProcess(AbstractSEIModelImpl.java:75)
at com.sun.xml.internal.ws.model.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:243)
at com.sun.tools.internal.ws.wscompile.WsgenTool.buildModel(WsgenTool.java:233)
at com.sun.tools.internal.ws.wscompile.WsgenTool.run(WsgenTool.java:136)
at com.sun.tools.internal.ws.util.WSToolsObjectFactoryImpl.wsgen(WSToolsObjectFactoryImpl.java:59)
at com.sun.tools.internal.ws.spi.WSToolsObjectFactory.wsgen(WSToolsObjectFactory.java:105)
at com.ibm.ws.websvcs.wsdl.WASWSDLGenerator.generateWsdl(WASWSDLGenerator.java:177)
... 14 more
Caused by: java.lang.ClassNotFoundException: com.ibm.pl.gbs.mswia.domain.pesel.DaneOsoby
at java.net.URLClassLoader.findClass(URLClassLoader.java:419)
at java.lang.ClassLoader.loadClass(ClassLoader.java:643)
at java.lang.ClassLoader.loadClass(ClassLoader.java:609)
... 44 more


which doesn't prevent the application from deploying and working fine:

00000021 CompositionUn A WSVR0190I: Starting composition unit WebSphere:cuname=RegistryEAR in BLA WebSphere:blaname=RegistryEAR.
00000021 ApplicationMg A WSVR0200I: Starting application: RegistryEAR
http://...
00000021 ApplicationMg A WSVR0221I: Application started: RegistryEAR


I would appreciate any help and possible suggestions.

thanks in advance,
Peter