You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Freeman Fang (JIRA)" <ji...@apache.org> on 2008/07/08 12:59:00 UTC

[jira] Commented: (SMX4-40) CXF Components are failing to deploy into Smx4

    [ https://issues.apache.org/activemq/browse/SMX4-40?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44066#action_44066 ] 

Freeman Fang commented on SMX4-40:
----------------------------------

the exception here is caused by [1]
the fix for [1] can install cxf components and deploy cxf-wsdl-first-sa correctly, and I also can retreive wsdl for the service exposed by cxf bc consumer from [2]
However, when send client request, I get exception like
org.apache.cxf.interceptor.Fault: Marshalling Error: property "com.sun.xml.bind.namespacePrefixMapper" must be an instance of type com.sun.xml.bind.marshaller.NamespacePrefixMapper, not org.apache.cxf.jaxb.JAXBDataBinding$1
        at org.apache.cxf.jaxb.io.DataWriterImpl.createMarshaller(DataWriterImpl.java:105)
        at org.apache.cxf.jaxb.io.DataWriterImpl.write(DataWriterImpl.java:131)
        at org.apache.cxf.binding.jbi.interceptor.JBIWrapperOutInterceptor.handleMessage(JBIWrapperOutInterceptor.java:93)
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
        at org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:74)
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
        at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:78)
        at org.apache.cxf.transport.jbi.JBIDispatcherUtil.dispatch(JBIDispatcherUtil.java:156)
        at org.apache.servicemix.cxfse.CxfSeEndpoint.process(CxfSeEndpoint.java:224)
        at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:585)
        at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:536)
        at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchangeInTx(AsyncBaseLifeCycle.java:436)
        at org.apache.servicemix.common.AsyncBaseLifeCycle$2.run(AsyncBaseLifeCycle.java:334)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:595)
Caused by: javax.xml.bind.PropertyException: property "com.sun.xml.bind.namespacePrefixMapper" must be an instance of type com.sun.xml.bind.marshaller.NamespacePrefixMapper, not org.apache.cxf.jaxb.JAXBDataBinding$1
        at com.sun.xml.bind.v2.runtime.MarshallerImpl.setProperty(MarshallerImpl.java:515)
        at org.apache.cxf.jaxb.io.DataWriterImpl.createMarshaller(DataWriterImpl.java:83)
        ... 15 more

But the org.apache.cxf.jaxb.JAXBDataBinding$1 is a inner anonymous class which extends com.sun.xml.bind.marshaller.NamespacePrefixMapper, so the error should comes from that the org.apache.cxf.jaxb.JAXBDataBinding$1 and com.sun.xml.bind.marshaller.NamespacePrefixMapper are loaded from different classloader. 
If I comment out the 
cxf-bundle-2.1.1.jar=50
org.apache.servicemix.bundles.jaxb-impl-2.1.6_1-SNAPSHOT.jar=50
from etc/startup.properties of sm4 kit, then I get cxf-wsdl-first sample work.

still figure out how to resolve this classloader issue.

[1]http://issues.apache.org/activemq/browse/SMX4NMR-34
[2]http://localhost:8092/PersonService/?wsdl


> CXF Components are failing to deploy into Smx4 
> -----------------------------------------------
>
>                 Key: SMX4-40
>                 URL: https://issues.apache.org/activemq/browse/SMX4-40
>             Project: ServiceMix 4
>          Issue Type: Bug
>    Affects Versions: 4.0-m2
>            Reporter: Edell Nolan
>            Assignee: Freeman Fang
>
> When trying to deploy the cxf components I am getting the following error 
> 16:03:09,973 | WARN  | pool-1-thread-1  | ComponentRegistryImpl            | mix
> .nmr.core.ServiceRegistryImpl   49 | Unable to register service org.apache.servi
> cemix.jbi.deployer.impl.ComponentImpl@291fc2 with properties {NAME=servicemix-cx
> f-se, objectClass=[Ljava.lang.String;@1eef1eb, service.id=172, TYPE=service-engi
> ne}. Reason: javax.jbi.JBIException: Error calling init
> javax.jbi.JBIException: Error calling init
>         at org.apache.servicemix.common.AsyncBaseLifeCycle.init(AsyncBaseLifeCyc
> le.java:202)
>         at org.apache.servicemix.common.SyncLifeCycleWrapper.init(SyncLifeCycleW
> rapper.java:44)
>         at org.apache.servicemix.jbi.deployer.impl.ComponentImpl$ComponentWrappe
> r.init(ComponentImpl.java:244)
>         at org.apache.servicemix.jbi.runtime.impl.ComponentRegistryImpl.doRegist
> er(ComponentRegistryImpl.java:96)
>         at org.apache.servicemix.jbi.runtime.impl.ComponentRegistryImpl.doRegist
> er(ComponentRegistryImpl.java:36)
>         at org.apache.servicemix.nmr.core.ServiceRegistryImpl.register(ServiceRe
> gistryImpl.java:47)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.springframework.osgi.util.internal.ReflectionUtils.invokeMethod(R
> eflectionUtils.java:100)
>         at org.springframework.osgi.config.CustomListenerAdapterUtils.invokeCust
> omMethods(CustomListenerAdapterUtils.java:153)
>         at org.springframework.osgi.config.OsgiServiceLifecycleListenerAdapter.b
> ind(OsgiServiceLifecycleListenerAdapter.java:186)
>         at org.springframework.osgi.service.importer.internal.util.OsgiServiceBi
> ndingUtils.callListenersBind(OsgiServiceBindingUtils.java:48)
>         at org.springframework.osgi.service.importer.internal.collection.OsgiSer
> viceCollection$Listener.serviceChanged(OsgiServiceCollection.java:92)
>         at org.apache.felix.framework.util.EventDispatcher.invokeServiceListener
> Callback(EventDispatcher.java:765)
>         at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(
> EventDispatcher.java:623)
>         at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(Even
> tDispatcher.java:554)
>         at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3612)
>         at org.apache.felix.framework.Felix.access$000(Felix.java:36)
>         at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:626)
>         at org.apache.felix.framework.ServiceRegistry.fireServiceChanged(Service
> Registry.java:559)
>         at org.apache.felix.framework.ServiceRegistry.registerService(ServiceReg
> istry.java:75)
>         at org.apache.felix.framework.Felix.registerService(Felix.java:2702)
>         at org.apache.felix.framework.BundleContextImpl.registerService(BundleCo
> ntextImpl.java:254)
>         at org.apache.felix.framework.BundleContextImpl.registerService(BundleCo
> ntextImpl.java:232)
>         at org.apache.servicemix.jbi.deployer.impl.Deployer.registerService(Depl
> oyer.java:427)
>         at org.apache.servicemix.jbi.deployer.impl.Deployer.installComponent(Dep
> loyer.java:246)
>         at org.apache.servicemix.jbi.deployer.impl.Deployer.register(Deployer.ja
> va:168)
>         at org.apache.servicemix.jbi.deployer.impl.AbstractBundleWatcher.onBundl
> eStarted(AbstractBundleWatcher.java:80)
>         at org.apache.servicemix.jbi.deployer.impl.AbstractBundleWatcher.access$
> 000(AbstractBundleWatcher.java:34)
>         at org.apache.servicemix.jbi.deployer.impl.AbstractBundleWatcher$1.bundl
> eChanged(AbstractBundleWatcher.java:53)
>         at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerC
> allback(EventDispatcher.java:690)
>         at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(
> EventDispatcher.java:619)
>         at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(Event
> Dispatcher.java:532)
>         at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:3601)
>         at org.apache.felix.framework.Felix._startBundle(Felix.java:1616)
>         at org.apache.felix.framework.Felix.startBundle(Felix.java:1544)
>         at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:371)
>         at org.apache.servicemix.kernel.filemonitor.FileMonitor.refreshPackagesA
> ndStartOrUpdateBundles(FileMonitor.java:505)
>         at org.apache.servicemix.kernel.filemonitor.FileMonitor.onFilesChanged(F
> ileMonitor.java:285)
>         at org.apache.servicemix.kernel.filemonitor.FileMonitor$2$1.run(FileMoni
> tor.java:305)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
> utor.java:650)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
> .java:675)
>         at java.lang.Thread.run(Thread.java:595)
> Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: IOExc
> eption parsing XML document from class path resource [META-INF/cxf/cxf.xml]; nes
> ted exception is java.io.FileNotFoundException: class path resource [META-INF/cx
> f/cxf.xml] cannot be opened because it does not exist
>         at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBea
> nDefinitions(XmlBeanDefinitionReader.java:310)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.