You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Ramanjaneyulu Malisetti (JIRA)" <de...@tuscany.apache.org> on 2010/03/16 20:14:27 UTC

[jira] Created: (TUSCANY-3499) serializtion error while invoking method that returns Collection

serializtion error while invoking method that returns Collection<DataObject>
----------------------------------------------------------------------------

                 Key: TUSCANY-3499
                 URL: https://issues.apache.org/jira/browse/TUSCANY-3499
             Project: Tuscany
          Issue Type: Bug
          Components: Java SCA JMS Binding Extension
    Affects Versions:  Java-SCA-2.0-M2
         Environment: Windows
            Reporter: Ramanjaneyulu Malisetti
             Fix For: Java-SCA-1.6


             I have SCA service bound to JMS binding and using SDO DataBinding. I am encountering the following exception while client is invoking a method that returns  Collection<DataObject>. Out of curiosity, I have added another method that returns Collection<String>, this method is successfully returning, but, to my surprise, client got list only with size 1 instead of actual size of the arraylist  returned by service side implementation.

Here, I attached source for your reference.

What is the wrong with serialization, why below exception shows JAXB databinding instead of SDO databinding?
Why client could not receive object as it is returned by service in case of Collection<String>?
Serverside
===========

Mar 16, 2010 11:52:07 PM org.apache.tuscany.sca.binding.jms.transport.TransportServiceInterceptor invoke
SEVERE: Exception invoking service 'HelloWorldService
java.lang.RuntimeException: Cannot serialize OM Element return
	at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.toString(OMSourcedElementImpl.java:913)
	at org.apache.tuscany.sca.binding.jms.provider.DefaultMessageProcessor.insertPayloadIntoJMSBytesMessage(DefaultMessageProcessor.java:235)
	at org.apache.tuscany.sca.binding.jms.wireformat.jmsdefault.runtime.WireFormatJMSDefaultServiceInterceptor.invokeResponse(WireFormatJMSDefaultServiceInterceptor.java:158)
	at org.apache.tuscany.sca.binding.jms.wireformat.jmsdefault.runtime.WireFormatJMSDefaultServiceInterceptor.invoke(WireFormatJMSDefaultServiceInterceptor.java:87)
	at org.apache.tuscany.sca.binding.jms.wire.CallbackDestinationInterceptor.invoke(CallbackDestinationInterceptor.java:55)
	at org.apache.tuscany.sca.binding.jms.wire.OperationPropertiesInterceptor.invoke(OperationPropertiesInterceptor.java:62)
	at org.apache.tuscany.sca.binding.jms.operationselector.jmsdefault.runtime.OperationSelectorJMSDefaultServiceInterceptor.invoke(OperationSelectorJMSDefaultServiceInterceptor.java:88)
	at org.apache.tuscany.sca.binding.jms.transport.TransportServiceInterceptor.invoke(TransportServiceInterceptor.java:77)
	at org.apache.tuscany.sca.core.assembly.RuntimeWireImpl.invoke(RuntimeWireImpl.java:163)
	at org.apache.tuscany.sca.host.jms.asf.ServiceInvoker.invokeService(ServiceInvoker.java:94)
	at org.apache.tuscany.sca.host.jms.asf.ServiceInvoker.onMessage(ServiceInvoker.java:70)
	at org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1021)
	at org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:122)
	at org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:192)
	at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122)
	at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
	at java.lang.Thread.run(Thread.java:619)
Caused by: javax.xml.stream.XMLStreamException: javax.xml.bind.MarshalException
 - with linked exception:
[javax.xml.bind.JAXBException: class java.util.ArrayList nor any of its super class is known to this context.]
	at org.apache.tuscany.sca.databinding.jaxb.axiom.JAXBDataSource.serialize(JAXBDataSource.java:158)
	at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.toString(OMSourcedElementImpl.java:908)
	... 18 more
Caused by: javax.xml.bind.MarshalException
 - with linked exception:
[javax.xml.bind.JAXBException: class java.util.ArrayList nor any of its super class is known to this context.]
	at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:331)
	at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:257)
	at javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:96)
	at org.apache.tuscany.sca.databinding.jaxb.axiom.JAXBDataSource$3.run(JAXBDataSource.java:150)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.apache.tuscany.sca.databinding.jaxb.axiom.JAXBDataSource.serialize(JAXBDataSource.java:145)
	... 19 more
Caused by: javax.xml.bind.JAXBException: class java.util.ArrayList nor any of its super class is known to this context.
	at com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:242)
	at com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:257)
	at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:649)
	at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:151)
	at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:185)
	at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeBody(ElementBeanInfoImpl.java:305)
	at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:312)
	at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:71)
	at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:490)
	at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:328)
	... 24 more
Caused by: javax.xml.bind.JAXBException: class java.util.ArrayList nor any of its super class is known to this context.
	at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:556)
	at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:644)


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


[jira] Updated: (TUSCANY-3499) serializtion error while invoking method that returns Collection

Posted by "Ramanjaneyulu Malisetti (JIRA)" <de...@tuscany.apache.org>.
     [ https://issues.apache.org/jira/browse/TUSCANY-3499?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ramanjaneyulu Malisetti updated TUSCANY-3499:
---------------------------------------------

    Attachment: jms-sdodatabinding.zip

source

> serializtion error while invoking method that returns Collection<DataObject>
> ----------------------------------------------------------------------------
>
>                 Key: TUSCANY-3499
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-3499
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA JMS Binding Extension
>    Affects Versions:  Java-SCA-2.0-M2
>         Environment: Windows
>            Reporter: Ramanjaneyulu Malisetti
>             Fix For: Java-SCA-1.6
>
>         Attachments: jms-sdodatabinding.zip
>
>
>              I have SCA service bound to JMS binding and using SDO DataBinding. I am encountering the following exception while client is invoking a method that returns  Collection<DataObject>. Out of curiosity, I have added another method that returns Collection<String>, this method is successfully returning, but, to my surprise, client got list only with size 1 instead of actual size of the arraylist  returned by service side implementation.
> Here, I attached source for your reference.
> What is the wrong with serialization, why below exception shows JAXB databinding instead of SDO databinding?
> Why client could not receive object as it is returned by service in case of Collection<String>?
> Serverside
> ===========
> Mar 16, 2010 11:52:07 PM org.apache.tuscany.sca.binding.jms.transport.TransportServiceInterceptor invoke
> SEVERE: Exception invoking service 'HelloWorldService
> java.lang.RuntimeException: Cannot serialize OM Element return
> 	at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.toString(OMSourcedElementImpl.java:913)
> 	at org.apache.tuscany.sca.binding.jms.provider.DefaultMessageProcessor.insertPayloadIntoJMSBytesMessage(DefaultMessageProcessor.java:235)
> 	at org.apache.tuscany.sca.binding.jms.wireformat.jmsdefault.runtime.WireFormatJMSDefaultServiceInterceptor.invokeResponse(WireFormatJMSDefaultServiceInterceptor.java:158)
> 	at org.apache.tuscany.sca.binding.jms.wireformat.jmsdefault.runtime.WireFormatJMSDefaultServiceInterceptor.invoke(WireFormatJMSDefaultServiceInterceptor.java:87)
> 	at org.apache.tuscany.sca.binding.jms.wire.CallbackDestinationInterceptor.invoke(CallbackDestinationInterceptor.java:55)
> 	at org.apache.tuscany.sca.binding.jms.wire.OperationPropertiesInterceptor.invoke(OperationPropertiesInterceptor.java:62)
> 	at org.apache.tuscany.sca.binding.jms.operationselector.jmsdefault.runtime.OperationSelectorJMSDefaultServiceInterceptor.invoke(OperationSelectorJMSDefaultServiceInterceptor.java:88)
> 	at org.apache.tuscany.sca.binding.jms.transport.TransportServiceInterceptor.invoke(TransportServiceInterceptor.java:77)
> 	at org.apache.tuscany.sca.core.assembly.RuntimeWireImpl.invoke(RuntimeWireImpl.java:163)
> 	at org.apache.tuscany.sca.host.jms.asf.ServiceInvoker.invokeService(ServiceInvoker.java:94)
> 	at org.apache.tuscany.sca.host.jms.asf.ServiceInvoker.onMessage(ServiceInvoker.java:70)
> 	at org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1021)
> 	at org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:122)
> 	at org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:192)
> 	at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122)
> 	at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
> 	at java.lang.Thread.run(Thread.java:619)
> Caused by: javax.xml.stream.XMLStreamException: javax.xml.bind.MarshalException
>  - with linked exception:
> [javax.xml.bind.JAXBException: class java.util.ArrayList nor any of its super class is known to this context.]
> 	at org.apache.tuscany.sca.databinding.jaxb.axiom.JAXBDataSource.serialize(JAXBDataSource.java:158)
> 	at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.toString(OMSourcedElementImpl.java:908)
> 	... 18 more
> Caused by: javax.xml.bind.MarshalException
>  - with linked exception:
> [javax.xml.bind.JAXBException: class java.util.ArrayList nor any of its super class is known to this context.]
> 	at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:331)
> 	at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:257)
> 	at javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:96)
> 	at org.apache.tuscany.sca.databinding.jaxb.axiom.JAXBDataSource$3.run(JAXBDataSource.java:150)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at org.apache.tuscany.sca.databinding.jaxb.axiom.JAXBDataSource.serialize(JAXBDataSource.java:145)
> 	... 19 more
> Caused by: javax.xml.bind.JAXBException: class java.util.ArrayList nor any of its super class is known to this context.
> 	at com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:242)
> 	at com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:257)
> 	at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:649)
> 	at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:151)
> 	at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:185)
> 	at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeBody(ElementBeanInfoImpl.java:305)
> 	at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:312)
> 	at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:71)
> 	at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:490)
> 	at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:328)
> 	... 24 more
> Caused by: javax.xml.bind.JAXBException: class java.util.ArrayList nor any of its super class is known to this context.
> 	at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:556)
> 	at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:644)

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