Getting Error when deploying a simple osgi bundle receiving error with message- javax.xml.transform.TransformerException: stylesheet requires attribute: version.

Solution Verified - Updated -

Environment

  • Red Hat JBoss Fuse
    • 6.1.0

Issue

  • User like to print hello world in a predefined time interval.
  • The program when deployed in fuse instead of printing hello world message, it is throwing error.
  • User wants to know how to fix the error and how the program will print hello world message periodically.
  • User get following error
19:16:14,816 | ERROR | NAPSHOT-thread-2 | XsltErrorListener                | 144 - org.apache.camel.camel-core - 2.12.0.redhat-611412 | stylesheet requires attribute: version; Line#: 2; Column#: 20
javax.xml.transform.TransformerException: stylesheet requires attribute: version
    at org.apache.xalan.processor.StylesheetHandler.error(StylesheetHandler.java:904)[:]
    at org.apache.xalan.processor.XSLTElementProcessor.setPropertiesFromAttributes(XSLTElementProcessor.java:387)[:]
    at org.apache.xalan.processor.XSLTElementProcessor.setPropertiesFromAttributes(XSLTElementProcessor.java:267)[:]
    at org.apache.xalan.processor.ProcessorLRE.startElement(ProcessorLRE.java:154)[:]
    at org.apache.xalan.processor.StylesheetHandler.startElement(StylesheetHandler.java:623)[:]
    at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)[:]
    at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
    at org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)[:]
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)[:]
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)[:]
    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)[:]
    at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)[:]
    at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:917)[:]
    at org.apache.camel.builder.xml.XsltBuilder.setTransformerSource(XsltBuilder.java:329)
    at org.apache.camel.component.xslt.XsltEndpoint.loadResource(XsltEndpoint.java:112)
    at org.apache.camel.component.xslt.XsltEndpoint.doStart(XsltEndpoint.java:121)
    at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
    at org.apache.camel.impl.DefaultCamelContext.startService(DefaultCamelContext.java:1933)[144:org.apache.camel.camel-core:2.12.0.redhat-611412]
    at org.apache.camel.impl.DefaultCamelContext.doAddService(DefaultCamelContext.java:991)[144:org.apache.camel.camel-core:2.12.0.redhat-611412]
    at org.apache.camel.impl.DefaultCamelContext.addService(DefaultCamelContext.java:952)[144:org.apache.camel.camel-core:2.12.0.redhat-611412]
    at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:527)[144:org.apache.camel.camel-core:2.12.0.redhat-611412]
    at org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:71)
    at org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:192)[144:org.apache.camel.camel-core:2.12.0.redhat-611412]
    at org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:106)
    at org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:112)
    at org.apache.camel.model.SendDefinition.resolveEndpoint(SendDefinition.java:61)[144:org.apache.camel.camel-core:2.12.0.redhat-611412]
    at org.apache.camel.model.SendDefinition.createProcessor(SendDefinition.java:55)[144:org.apache.camel.camel-core:2.12.0.redhat-611412]
    at org.apache.camel.model.ProcessorDefinition.makeProcessor(ProcessorDefinition.java:500)[144:org.apache.camel.camel-core:2.12.0.redhat-611412]
    at org.apache.camel.model.ProcessorDefinition.addRoutes(ProcessorDefinition.java:213)[144:org.apache.camel.camel-core:2.12.0.redhat-611412]
    at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:909)[144:org.apache.camel.camel-core:2.12.0.redhat-611412]
    at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:177)[144:org.apache.camel.camel-core:2.12.0.redhat-611412]
    at org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:778)[144:org.apache.camel.camel-core:2.12.0.redhat-611412]
    at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1959)[144:org.apache.camel.camel-core:2.12.0.redhat-611412]
    at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1709)[144:org.apache.camel.camel-core:2.12.0.redhat-611412]
    at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1583)[144:org.apache.camel.camel-core:2.12.0.redhat-611412]
    at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
    at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1551)[144:org.apache.camel.camel-core:2.12.0.redhat-611412]
    at org.apache.camel.blueprint.BlueprintCamelContext.start(BlueprintCamelContext.java:177)
    at org.apache.camel.blueprint.BlueprintCamelContext.maybeStart(BlueprintCamelContext.java:209)
    at org.apache.camel.blueprint.BlueprintCamelContext.serviceChanged(BlueprintCamelContext.java:147)
    at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:934)[org.apache.felix.framework-4.0.3.redhat-611412.jar:]
    at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:795)[org.apache.felix.framework-4.0.3.redhat-611412.jar:]
    at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:544)[org.apache.felix.framework-4.0.3.redhat-611412.jar:]
    at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4666)[org.apache.felix.framework-4.0.3.redhat-611412.jar:]
    at org.apache.felix.framework.Felix.registerService(Felix.java:3674)[org.apache.felix.framework-4.0.3.redhat-611412.jar:]
    at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:347)
    at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:353)
    at org.apache.camel.blueprint.BlueprintCamelContext.init(BlueprintCamelContext.java:97)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.7.0]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)[:1.7.0]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)[:1.7.0]
    at java.lang.reflect.Method.invoke(Unknown Source)[:1.7.0]
    at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:297)[14:org.apache.aries.blueprint.core:1.0.1.redhat-611412]
    at org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:958)[14:org.apache.aries.blueprint.core:1.0.1.redhat-611412]
    at org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:712)[14:org.apache.aries.blueprint.core:1.0.1.redhat-611412]
    at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:824)[14:org.apache.aries.blueprint.core:1.0.1.redhat-611412]
    at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)[14:org.apache.aries.blueprint.core:1.0.1.redhat-611412]
    at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[14:org.apache.aries.blueprint.core:1.0.1.redhat-611412]
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)[:1.7.0]
    at java.util.concurrent.FutureTask.run(Unknown Source)[:1.7.0]
    at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[14:org.apache.aries.blueprint.core:1.0.1.redhat-611412]
    at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:245)[14:org.apache.aries.blueprint.core:1.0.1.redhat-611412]
    at org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:183)[14:org.apache.aries.blueprint.core:1.0.1.redhat-611412]
    at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:676)[14:org.apache.aries.blueprint.core:1.0.1.redhat-611412]
    at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:374)[14:org.apache.aries.blueprint.core:1.0.1.redhat-611412]
    at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:261)[14:org.apache.aries.blueprint.core:1.0.1.redhat-611412]
    at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:270)[14:org.apache.aries.blueprint.core:1.0.1.redhat-611412]
    at org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:233)[14:org.apache.aries.blueprint.core:1.0.1.redhat-611412]
    at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[9:org.apache.aries.util:1.0.1.redhat-611412]
    at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[9:org.apache.aries.util:1.0.1.redhat-611412]
    at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[9:org.apache.aries.util:1.0.1.redhat-611412]
    at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[9:org.apache.aries.util:1.0.1.redhat-611412]
    at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[9:org.apache.aries.util:1.0.1.redhat-611412]
    at org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1103)[org.apache.felix.framework-4.0.3.redhat-611412.jar:]
    at org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:696)[org.apache.felix.framework-4.0.3.redhat-611412.jar:]
    at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:484)[org.apache.felix.framework-4.0.3.redhat-611412.jar:]
    at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4650)[org.apache.felix.framework-4.0.3.redhat-611412.jar:]
    at org.apache.felix.framework.Felix$4.run(Felix.java:2123)[org.apache.felix.framework-4.0.3.redhat-611412.jar:]
    at org.apache.felix.framework.Felix$5.run(Felix.java:2167)[org.apache.felix.framework-4.0.3.redhat-611412.jar:]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)[:1.7.0]
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)[:1.7.0]
    at java.util.concurrent.FutureTask.run(Unknown Source)[:1.7.0]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)[:1.7.0]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)[:1.7.0]
    at java.lang.Thread.run(Unknown Source)[:1.7.0]

Resolution

  • In pom.xml user is making it as jar. Fuse basic functionality is to support osgi bundles so user has to replace
    <packaging>jar</packaging> with <packaging>bundle</packaging>

  • To make an osgi bundle, in pom.xml user need to add one maven plugin like

  <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <version>2.3.7</version>
        <extensions>true</extensions>
        <configuration>
          <instructions>
            <Bundle-SymbolicName>camel-spring-myapp</Bundle-SymbolicName>
            <Import-Package>*</Import-Package>
          </instructions>
        </configuration>
  </plugin>
  • User must put spring.xml within src/main/resources/META-INF/spring/ folder within project.

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.