[ https://issues.apache.org/jira/browse/CXF-2593?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Benson Margulies resolved CXF-2593. ----------------------------------- Resolution: Fixed Fix Version/s: 2.3 Fixed in r894074. All uses of primitive arrays as generic parameters were busted. > Get XML parse error when return type is Collection<double[]> > ------------------------------------------------------------ > > Key: CXF-2593 > URL: https://issues.apache.org/jira/browse/CXF-2593 > Project: CXF > Issue Type: Bug > Components: Aegis Databinding > Environment: Eclipse Equinox + Red hat linux > Reporter: Mikkelbk > Assignee: Benson Margulies > Fix For: 2.3 > > > I have used dosgi succesfully between two machines. But when I implemented a > method with Collection<double[]> as return type I get the error below. It is > unclear from the answers in > http://coderthoughts.blogspot.com/2009/05/questions-from-rfc-119-webinar.html > if Collection<double[]> should work or not. > 24-11-2009 19:19:49 org.apache.cxf.phase.PhaseInterceptorChain doIntercept > WARNING: Interceptor has thrown exception, unwinding now > org.apache.cxf.interceptor.Fault: Could not parse xml.. Nested exception is > javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,345] > Message: expected start or end tag > at > org.apache.cxf.aegis.databinding.XMLStreamDataReader.read(XMLStreamDataReader.java:63) > at > org.apache.cxf.aegis.databinding.XMLStreamDataReader.read(XMLStreamDataReader.java:38) > at > org.apache.cxf.interceptor.DocLiteralInInterceptor.getPara(DocLiteralInInterceptor.java:238) > at > org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:117) > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236) > at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:664) > at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2160) > at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2040) > at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1965) > at > org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66) > at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:627) > at > org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236) > at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:478) > at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:308) > at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:260) > at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) > at org.apache.cxf.frontend.ClientProxy.invoke(ClientProxy.java:68) > at $Proxy34.getBoundary(Unknown Source) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.apache.cxf.dosgi.dsw.handlers.ServiceInvocationHandler.invoke(ServiceInvocationHandler.java:59) > at $Proxy34.getBoundary(Unknown Source) > at service.example.Example.activate(Example.java:46) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:230) > at > org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:140) > at > org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:330) > at > org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:560) > at > org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:182) > at > org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:292) > at > org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:226) > at > org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:104) > at > org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:933) > at > org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227) > at > org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:755) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:710) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:129) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:206) > at > org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:507) > at > org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:525) > at > org.apache.cxf.dosgi.dsw.hooks.AbstractClientHook.proxifyMatchingInterface(AbstractClientHook.java:118) > at > org.apache.cxf.dosgi.dsw.hooks.AbstractClientHook.processNotification(AbstractClientHook.java:91) > at > org.apache.cxf.dosgi.dsw.hooks.AbstractClientHook$DiscoveryCallback.serviceChanged(AbstractClientHook.java:297) > at > org.apache.cxf.dosgi.discovery.local.LocalDiscoveryService.triggerCallbacks(LocalDiscoveryService.java:340) > at > org.apache.cxf.dosgi.discovery.local.LocalDiscoveryService.triggerCallbacks(LocalDiscoveryService.java:305) > at > org.apache.cxf.dosgi.discovery.local.LocalDiscoveryService.updateTracker(LocalDiscoveryService.java:208) > at > org.apache.cxf.dosgi.discovery.local.LocalDiscoveryService.access$100(LocalDiscoveryService.java:53) > at > org.apache.cxf.dosgi.discovery.local.LocalDiscoveryService$1.modifiedService(LocalDiscoveryService.java:90) > at > org.osgi.util.tracker.ServiceTracker$Tracked.customizerModified(ServiceTracker.java:909) > at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:237) > at > org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:840) > at > org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:104) > at > org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:933) > at > org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227) > at > org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:755) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:710) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.setProperties(ServiceRegistrationImpl.java:168) > at > org.apache.cxf.dosgi.dsw.hooks.AbstractClientHook.lookupDiscoveryService(AbstractClientHook.java:218) > at > org.apache.cxf.dosgi.dsw.hooks.CxfFindListenerHook.find(CxfFindListenerHook.java:95) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyFindHooksPrivileged(ServiceRegistry.java:1037) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyFindHooks(ServiceRegistry.java:1004) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getServiceReferences(ServiceRegistry.java:305) > at > org.eclipse.osgi.framework.internal.core.BundleContextImpl.getServiceReferences(BundleContextImpl.java:573) > at > org.eclipse.equinox.internal.ds.Reference.hasProviders(Reference.java:126) > at > org.eclipse.equinox.internal.ds.Resolver.resolveEligible(Resolver.java:432) > at > org.eclipse.equinox.internal.ds.Resolver.getComponentsToBuild(Resolver.java:398) > at > org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:282) > at > org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:226) > at > org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:104) > at > org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:933) > at > org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227) > at > org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:755) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:710) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:129) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:206) > at > org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:507) > at org.apache.cxf.dosgi.dsw.Activator.start(Activator.java:78) > at > org.apache.cxf.dosgi.singlebundle.AggregatedActivator.startEmbeddedActivators(AggregatedActivator.java:115) > at > org.apache.cxf.dosgi.singlebundle.AggregatedActivator.start(AggregatedActivator.java:46) > at > org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783) > at java.security.AccessController.doPrivileged(Native Method) > at > org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774) > at > org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755) > at > org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:352) > at > org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:370) > at > org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1068) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:557) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:464) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:248) > at > org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:445) > at > org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227) > at > org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337) > Caused by: org.apache.cxf.aegis.DatabindingException: Could not parse xml.. > Nested exception is javax.xml.stream.XMLStreamException: ParseError at > [row,col]:[1,345] > Message: expected start or end tag > at > org.apache.cxf.aegis.type.xml.DocumentType.readObject(DocumentType.java:74) > at > org.apache.cxf.aegis.type.basic.ObjectType.readObject(ObjectType.java:141) > at > org.apache.cxf.aegis.type.basic.ArrayType.readCollection(ArrayType.java:86) > at > org.apache.cxf.aegis.type.collection.CollectionType.readObject(CollectionType.java:52) > at > org.apache.cxf.aegis.AegisXMLStreamDataReader.read(AegisXMLStreamDataReader.java:82) > at > org.apache.cxf.aegis.databinding.XMLStreamDataReader.read(XMLStreamDataReader.java:61) > ... 100 more > Caused by: javax.xml.stream.XMLStreamException: ParseError at > [row,col]:[1,345] > Message: expected start or end tag > at > org.apache.cxf.staxutils.DepthXMLStreamReader.nextTag(DepthXMLStreamReader.java:242) > at > org.apache.cxf.aegis.type.xml.DocumentType.readObject(DocumentType.java:69) > ... 105 more -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.