Uploaded image for project: 'CXF Distributed OSGi (Retired)'
  1. CXF Distributed OSGi (Retired)
  2. DOSGI-213

ASM library not in Multibundle 1.6.0, so no naming of webservice parameters possible

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 1.6.0
    • 2.0.0
    • None
    • 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

    • Novice

    Description

      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"

      Attachments

        Activity

          People

            cschneider Christian Schneider
            hullabaluh Aurelius Robert Baier
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment