Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-3499

Issue with camel-soap - <dataFormats> - JAXBContext not created

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.5.0
    • 2.6.0
    • None
    • None
    • Apache Karaf 2.1-SNAPSHOT

    Description

      I would like to use camel-soap into the following camel route

      <cxf:cxfEndpoint id="busServicesFinder"
      address="http://localhost:8282/cxf/serviceFinder"
      serviceClass="fr.client.proxy.Services">
      </cxf:cxfEndpoint>

      <camelContext trace="true" xmlns="http://camel.apache.org/schema/spring">

      <dataFormats>
      <soapjaxb id="soap" contextPath="fr.client.proxy"/>
      </dataFormats>

      <route>
      <from uri="cxf:bean:busServicesFinder?dataFormat=MESSAGE"/>
      <log message="WebService called" loggingLevel="INFO"/>
      <!-- <convertBodyTo type="String"/> -->
      <unmarshal ref="soap"/>
      ...

      but I get the following error in karaf when CXF extract the content and parse it with JAXB

      Additional info

      > * which jaxb bundle is/are deployed ?
      [ 200] [Active ] [ ] [ ] [ 60] Apache
      ServiceMix :: Bundles :: jaxb-impl (2.1.13.1)

      > * does the system bundle export the sun packages ?
      No

      200 com.sun.xml.bind.v2
      200 com.sun.xml.bind.v2.model.annotation
      200 com.sun.xml.bind.unmarshaller
      200 com.sun.xml.bind.api.impl
      200 com.sun.xml.bind.v2.schemagen.episode
      200 com.sun.xml.bind.v2.util
      200 com.sun.xml.bind.v2.runtime.unmarshaller
      200 com.sun.xml.bind.marshaller
      200 com.sun.xml.bind.v2.model.runtime
      200 com.sun.xml.bind.v2.runtime.reflect.opt
      200 com.sun.xml.bind.v2.schemagen.xmlschema
      200 com.sun.xml.bind
      200 com.sun.xml.bind.v2.model.core
      200 com.sun.xml.bind.v2.runtime.output
      200 com.sun.xml.bind.v2.bytecode
      200 com.sun.xml.bind.api
      200 com.sun.xml.bind.v2.model.impl
      200 com.sun.xml.bind.v2.model.nav
      200 com.sun.xml.bind.v2.schemagen
      200 com.sun.xml.bind.util
      200 com.sun.xml.bind.v2.runtime.reflect
      200 com.sun.xml.bind.v2.runtime
      200 com.sun.xml.bind.annotation
      200 com.sun.xml.bind.v2.runtime.property

      > * is there a boot delegation on the com.sun.* packages from the jre ?
      Yes (karaf - 2.1-SNAPSHOT)

      as thrown exception, unwinding now
      org.apache.cxf.interceptor.Fault: Unable to create context
             at org.apache.camel.component.cxf.CxfConsumer$1.checkFailure(CxfConsumer.java:223)[600:org.apache.camel.camel-cxf:2.5.0]
             at org.apache.camel.component.cxf.CxfConsumer$1.setResponseBack(CxfConsumer.java:200)[600:org.apache.camel.camel-cxf:2.5.0]
             at org.apache.camel.component.cxf.CxfConsumer$1.asyncInvoke(CxfConsumer.java:113)[600:org.apache.camel.camel-cxf:2.5.0]
             at org.apache.camel.component.cxf.CxfConsumer$1.invoke(CxfConsumer.java:68)[600:org.apache.camel.camel-cxf:2.5.0]
             at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)[598:org.apache.cxf.bundle:2.2.11]
             at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)[:1.6.0_22]
             at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)[:1.6.0_22]
             at java.util.concurrent.FutureTask.run(FutureTask.java:138)[:1.6.0_22]
             at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)[598:org.apache.cxf.bundle:2.2.11]
             at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106)[598:org.apache.cxf.bundle:2.2.11]
             at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)[598:org.apache.cxf.bundle:2.2.11]
             at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:111)[598:org.apache.cxf.bundle:2.2.11]
             at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:311)[598:org.apache.cxf.bundle:2.2.11]
             at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:275)[598:org.apache.cxf.bundle:2.2.11]
             at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)[598:org.apache.cxf.bundle:2.2.11]
             at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)[569:org.apache.servicemix.bundles.jetty-bundle:6.1.22.1]
             at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)[569:org.apache.servicemix.bundles.jetty-bundle:6.1.22.1]
             at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)[569:org.apache.servicemix.bundles.jetty-bundle:6.1.22.1]
             at org.mortbay.jetty.Server.handle(Server.java:326)[569:org.apache.servicemix.bundles.jetty-bundle:6.1.22.1]
             at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)[569:org.apache.servicemix.bundles.jetty-bundle:6.1.22.1]
             at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)[569:org.apache.servicemix.bundles.jetty-bundle:6.1.22.1]
             at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)[569:org.apache.servicemix.bundles.jetty-bundle:6.1.22.1]
             at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)[569:org.apache.servicemix.bundles.jetty-bundle:6.1.22.1]
             at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)[569:org.apache.servicemix.bundles.jetty-bundle:6.1.22.1]
             at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)[569:org.apache.servicemix.bundles.jetty-bundle:6.1.22.1]
             at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)[569:org.apache.servicemix.bundles.jetty-bundle:6.1.22.1]
      Caused by: java.io.IOException: Unable to create context
             at org.apache.camel.util.IOHelper.createIOException(IOHelper.java:80)[202:org.apache.camel.camel-core:2.5.0]
             at org.apache.camel.util.IOHelper.createIOException(IOHelper.java:72)[202:org.apache.camel.camel-core:2.5.0]
             at org.apache.camel.converter.jaxb.JaxbDataFormat.unmarshal(JaxbDataFormat.java:151)[602:org.apache.camel.camel-jaxb:2.5.0]
             at org.apache.camel.dataformat.soap.SoapJaxbDataFormat.unmarshal(SoapJaxbDataFormat.java:226)[603:org.apache.camel.camel-soap:2.5.0]
             at org.apache.camel.processor.UnmarshalProcessor.process(UnmarshalProcessor.java:51)[202:org.apache.camel.camel-core:2.5.0]
             at org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:50)[202:org.apache.camel.camel-core:2.5.0]
             at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[202:org.apache.camel.camel-core:2.5.0]
             at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[202:org.apache.camel.camel-core:2.5.0]
             at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[202:org.apache.camel.camel-core:2.5.0]
             at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)[202:org.apache.camel.camel-core:2.5.0]
             at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[202:org.apache.camel.camel-core:2.5.0]
             at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[202:org.apache.camel.camel-core:2.5.0]
             at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[202:org.apache.camel.camel-core:2.5.0]
             at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:174)[202:org.apache.camel.camel-core:2.5.0]
             at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[202:org.apache.camel.camel-core:2.5.0]
             at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:299)[202:org.apache.camel.camel-core:2.5.0]
             at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:208)[202:org.apache.camel.camel-core:2.5.0]
             at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:256)[202:org.apache.camel.camel-core:2.5.0]
             at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[202:org.apache.camel.camel-core:2.5.0]
             at org.apache.camel.processor.Pipeline.process(Pipeline.java:143)[202:org.apache.camel.camel-core:2.5.0]
             at org.apache.camel.processor.Pipeline.process(Pipeline.java:78)[202:org.apache.camel.camel-core:2.5.0]
             at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:99)[202:org.apache.camel.camel-core:2.5.0]
             at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)[202:org.apache.camel.camel-core:2.5.0]
             at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[202:org.apache.camel.camel-core:2.5.0]
             at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[202:org.apache.camel.camel-core:2.5.0]
             at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)[202:org.apache.camel.camel-core:2.5.0]
             at org.apache.camel.component.cxf.CxfConsumer$1.asyncInvoke(CxfConsumer.java:80)[600:org.apache.camel.camel-cxf:2.5.0]
             ... 23 more
      Caused by: javax.xml.bind.JAXBException: Unable to create context
       - with linked exception:
      [java.lang.NoSuchMethodException:
      com.sun.xml.bind.v2.ContextFactory.createContext(java.lang.String,
      java.lang.ClassLoader)]
             at javax.xml.bind.ContextFinder.find(ContextFinder.java:72)[198:org.apache.servicemix.specs.jaxb-api-2.1:1.5.0]
             at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:77)[198:org.apache.servicemix.specs.jaxb-api-2.1:1.5.0]
             at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:73)[198:org.apache.servicemix.specs.jaxb-api-2.1:1.5.0]
             at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:69)[198:org.apache.servicemix.specs.jaxb-api-2.1:1.5.0]
             at org.apache.camel.dataformat.soap.SoapJaxbDataFormat.createContext(SoapJaxbDataFormat.java:286)[603:org.apache.camel.camel-soap:2.5.0]
             at org.apache.camel.converter.jaxb.JaxbDataFormat.getContext(JaxbDataFormat.java:183)[602:org.apache.camel.camel-jaxb:2.5.0]
             at org.apache.camel.converter.jaxb.JaxbDataFormat.unmarshal(JaxbDataFormat.java:126)[602:org.apache.camel.camel-jaxb:2.5.0]
             ... 47 more
      Caused by: java.lang.NoSuchMethodException:
      com.sun.xml.bind.v2.ContextFactory.createContext(java.lang.String,
      java.lang.ClassLoader)
             at java.lang.Class.getMethod(Class.java:1605)[:1.6.0_22]
             at javax.xml.bind.ContextFinder.find(ContextFinder.java:69)[198:org.apache.servicemix.specs.jaxb-api-2.1:1.5.0]
             ... 53 more
      

      Attachments

        Issue Links

          Activity

            People

              njiang Willem Jiang
              cmoulliard Moulliard Charles
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: