[ https://issues.apache.org/jira/browse/DOSGI-213?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Christian Schneider reassigned DOSGI-213: ----------------------------------------- Assignee: Christian Schneider > ASM library not in Multibundle 1.6.0, so no naming of webservice parameters > possible > ------------------------------------------------------------------------------------ > > Key: DOSGI-213 > URL: https://issues.apache.org/jira/browse/DOSGI-213 > Project: CXF Distributed OSGi > Issue Type: Bug > Affects Versions: 1.6.0 > Environment: OpenJDK Runtime Environment (IcedTea 2.4.4) > (7u51-2.4.4-0ubuntu0.13.10.1) > OpenJDK Client VM (build 24.45-b08, mixed mode, sharing) > Equinox > Exlipse RCP 4.3.1 > Reporter: Aurelius Robert Baier > Assignee: Christian Schneider > Priority: Minor > Labels: newbie > Fix For: 2.0.0 > > > When I tried to name the webservice method parameters and started my RCP > Application I got the exception pasted below. I got it working by taking the > servicemix.asm bundle of the Mutlibundle distribution 1.5.0 and defining it > in the MANIFEST.MF of my plugin. > Please feel free to tell me what I need to do better in case this is no DOSGi > problem. > Stacktrace > java.lang.RuntimeException: No ASM > ClassWriterFoundjava.lang.RuntimeException: No ASM ClassWriterFound > at > org.apache.cxf.common.util.ASMHelper.createClassWriter(ASMHelper.java:269) > ~[cxf-api-2.7.8.jar:2.7.8] > at > org.apache.cxf.jaxws.WrapperClassGenerator.createWrapperClass(WrapperClassGenerator.java:151) > ~[cxf-rt-frontend-jaxws-2.7.8.jar:2.7.8] > at > org.apache.cxf.jaxws.WrapperClassGenerator.generate(WrapperClassGenerator.java:122) > ~[cxf-rt-frontend-jaxws-2.7.8.jar:2.7.8] > at > org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.generatedWrapperBeanClass(JaxWsServiceFactoryBean.java:683) > ~[cxf-rt-frontend-jaxws-2.7.8.jar:2.7.8] > at > org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.getExtraClass(JaxWsServiceFactoryBean.java:653) > ~[cxf-rt-frontend-jaxws-2.7.8.jar:2.7.8] > at > org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:484) > ~[cxf-rt-core-2.7.8.jar:2.7.8] > at > org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.buildServiceFromClass(JaxWsServiceFactoryBean.java:704) > ~[cxf-rt-frontend-jaxws-2.7.8.jar:2.7.8] > at > org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:550) > ~[cxf-rt-core-2.7.8.jar:2.7.8] > at > org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:265) > ~[cxf-rt-core-2.7.8.jar:2.7.8] > at > org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:215) > ~[cxf-rt-frontend-jaxws-2.7.8.jar:2.7.8] > at > org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:102) > ~[cxf-rt-frontend-simple-2.7.8.jar:2.7.8] > at > org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:159) > ~[cxf-rt-frontend-simple-2.7.8.jar:2.7.8] > at > org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:211) > ~[cxf-rt-frontend-jaxws-2.7.8.jar:2.7.8] > at > org.apache.cxf.dosgi.dsw.handlers.AbstractPojoConfigurationTypeHandler.createServerFromFactory(AbstractPojoConfigurationTypeHandler.java:191) > ~[cxf-dosgi-ri-dsw-cxf-1.6.0.jar:na] > at > org.apache.cxf.dosgi.dsw.handlers.PojoConfigurationTypeHandler.createServer(PojoConfigurationTypeHandler.java:119) > ~[cxf-dosgi-ri-dsw-cxf-1.6.0.jar:na] > at > org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminCore.exportInterfaces(RemoteServiceAdminCore.java:184) > [cxf-dosgi-ri-dsw-cxf-1.6.0.jar:na] > at > org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminCore.exportService(RemoteServiceAdminCore.java:140) > [cxf-dosgi-ri-dsw-cxf-1.6.0.jar:na] > at > org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminInstance$1.run(RemoteServiceAdminInstance.java:59) > [cxf-dosgi-ri-dsw-cxf-1.6.0.jar:na] > at > org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminInstance$1.run(RemoteServiceAdminInstance.java:57) > [cxf-dosgi-ri-dsw-cxf-1.6.0.jar:na] > at java.security.AccessController.doPrivileged(Native Method) > [na:1.7.0_51] > at > org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminInstance.exportService(RemoteServiceAdminInstance.java:57) > [cxf-dosgi-ri-dsw-cxf-1.6.0.jar:na] > at > org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminInstance.exportService(RemoteServiceAdminInstance.java:41) > [cxf-dosgi-ri-dsw-cxf-1.6.0.jar:na] > at > org.apache.cxf.dosgi.topologymanager.exporter.TopologyManagerExport.exportServiceUsingRemoteServiceAdmin(TopologyManagerExport.java:185) > [cxf-dosgi-ri-topology-manager-1.6.0.jar:na] > at > org.apache.cxf.dosgi.topologymanager.exporter.TopologyManagerExport.doExportService(TopologyManagerExport.java:168) > [cxf-dosgi-ri-topology-manager-1.6.0.jar:na] > at > org.apache.cxf.dosgi.topologymanager.exporter.TopologyManagerExport$3.run(TopologyManagerExport.java:143) > [cxf-dosgi-ri-topology-manager-1.6.0.jar:na] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > [na:1.7.0_51] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > [na:1.7.0_51] > at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51] > Caused by: java.lang.NoClassDefFoundError: org/objectweb/asm/ClassWriter > at > org.apache.cxf.common.util.ASMHelper.getASMClassWriterClass(ASMHelper.java:86) > ~[cxf-api-2.7.8.jar:2.7.8] > at org.apache.cxf.common.util.ASMHelper.getASMClass(ASMHelper.java:97) > ~[cxf-api-2.7.8.jar:2.7.8] > at > org.apache.cxf.common.util.ASMHelper.createClassWriter(ASMHelper.java:266) > ~[cxf-api-2.7.8.jar:2.7.8] > ... 27 common frames omitted > Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.ClassWriter > at > org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501) > ~[org.eclipse.osgi_3.8.2.v20130124-134944.jar:na] > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421) > ~[org.eclipse.osgi_3.8.2.v20130124-134944.jar:na] > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412) > ~[org.eclipse.osgi_3.8.2.v20130124-134944.jar:na] > at > org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) > ~[org.eclipse.osgi_3.8.2.v20130124-134944.jar:na] > at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ~[na:1.7.0_51] > ... 30 common frames omitted > 14:44 > My proof of concept webservice interface: > package net.something.wsconnector.ws; > import javax.jws.WebMethod; > import javax.jws.WebParam; > import javax.jws.WebResult; > import javax.jws.WebService; > @WebService(targetNamespace = "http://olp/", name="OlpService") > public interface OlpService { > > @WebResult(name = "versionString", targetNamespace = "") > @WebMethod > public String getVersion(@WebParam(name="name") String name); > > > @WebResult(name = "patientName", targetNamespace = "") > @WebMethod > public String getPatient(@WebParam(name="patientNo") String patientNo); > } > My MANIFEST.MF: > Manifest-Version: 1.0 > Bundle-ManifestVersion: 2 > Bundle-Name: Olpconnector > Bundle-SymbolicName: net.something.wsconnector;singleton:=true > Bundle-Version: 1.0.0.qualifier > Bundle-Activator: net.something.wsconnector.Activator > Bundle-RequiredExecutionEnvironment: JavaSE-1.7 > Import-Package: org.osgi.framework;version="1.3.0" > Bundle-ActivationPolicy: lazy > Require-Bundle: org.eclipse.equinox.console;bundle-version="1.0.0", > org.apache.felix.gogo.shell;bundle-version="0.8.0", > org.apache.felix.gogo.command;bundle-version="0.8.0", > org.apache.felix.gogo.runtime;bundle-version="0.8.0", > org.ops4j.base.lang;bundle-version="1.4.0", > --- added line > org.apache.servicemix.bundles.asm;bundle-version="3.3.1", > --- /added line > cxf-dosgi-ri-osgi-api;bundle-version="1.6.0", > cxf-dosgi-ri-topology-manager;bundle-version="1.6.0", > cxf-dosgi-ri-dsw-cxf;bundle-version="1.6.0" -- This message was sent by Atlassian JIRA (v6.3.4#6332)