Thanks Simon. Works great. Keeping the Person, PhysicalLocation as services
made no sense.

On Thu, May 5, 2011 at 5:24 AM, Simon Nash <[email protected]> wrote:

> Monosij Dutta-Roy wrote:
>
>> I am resubmitting my post as my configuration with returning the
>> collection - an ArrayList I continue to get the Pass-By-Value error. I am
>> using Beta-2.
>>
>> I changed the return datatype between the components back to an arraylist
>> - and I get the same error again. Attached.
>>
>> Pass-By-Value not supported for ArrayList.
>>
>> Based on my email yesterday - I have it as I had set it out in the email.
>>
>> As I had mentioned - I have 3 contributions: ----------
>> qmAppSCA01 (QueryServlet ref: QueryServce; QueryService ref;
>> qmController/QueryOrchestrator)
>>
>> qmController (QueryOrchestraor ref: QueryComposor, QueryExecutor;
>> QueryExecutor ref: Person)
>>
>> domainBCA (Person, PhysicalLocation)
>> ----------
>> 1. QueryServet calls QueryService calls QueryOrchestror (passes HashMap)
>>
>> 2. QueryOrchestrator calls QueryComposer gets parsed Query as string
>> 3. QueryOrchestrator calls QueryExecutor with Query string, executes query
>> and returns ArrayList of Patients.
>> 4. QueryOrchestrator sends ArrayList of patients back to QueryService.
>>
>> 5. QueryService returns it to QueryServlet which then displays it.
>> ----------
>>
>> I am attaching my composite files as well.
>>
>> Unsure where its going wrong.
>> Right now just returning an ArrayList - from the reference object each of
>> which is in the chain.
>>
>> I wonder  if I am making some basic fundamental errors.
>>
>> Thanks for your help.
>>
>> monosij
>>
>>  From the stack trace, the problem is that you are passing a PatientImpl
> object as part of the ArrayList, and PatientImpl is not serializable.
>
> From looking at your composites, PatientImpl is the implementation class
> for the PatientComponent component, which provides a Person service.
> If this service is intended to represent a single patient (Joe, Mary, Bill,
> etc.), you should be using a POJO for this instead of a service.
>
> If you change PatientImpl from a service to a POJO and make it
> serializable,
> you should be able to return it within an ArrayList.
>
> The same would apply to AddressImpl if this is intended to represent the
> address of a single patient.
>
>  Simon
>
>  ------------------------------------------------------------------------
>>
>>
>>    HTTP ERROR 500
>>
>> Problem accessing /qmAppSCA01/QueryServlet. Reason:
>>
>>    Pass-by-value is not supported for the given object:
>> java.util.ArrayList
>>
>>
>>      Caused by:
>>
>> java.lang.IllegalArgumentException: Pass-by-value is not supported for the
>> given object: java.util.ArrayList
>>        at
>> org.apache.tuscany.sca.databinding.javabeans.JavaBeansDataBinding.copy(JavaBeansDataBinding.java:132)
>>        at
>> org.apache.tuscany.sca.databinding.DefaultDataBindingExtensionPoint$LazyDataBinding.copy(DefaultDataBindingExtensionPoint.java:169)
>>        at
>> org.apache.tuscany.sca.databinding.impl.MediatorImpl.copy(MediatorImpl.java:542)
>>        at
>> org.apache.tuscany.sca.databinding.impl.MediatorImpl.copyOutput(MediatorImpl.java:615)
>>        at
>> org.apache.tuscany.sca.binding.sca.provider.SCABindingInvoker.processResponse(SCABindingInvoker.java:120)
>>        at
>> org.apache.tuscany.sca.core.invocation.InterceptorAsyncImpl.invoke(InterceptorAsyncImpl.java:59)
>>        at
>> org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:322)
>>        at
>> org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:278)
>>        at
>> org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:125)
>>        at
>> org.apache.tuscany.sca.core.invocation.impl.AsyncJDKInvocationHandler.doInvokeSync(AsyncJDKInvocationHandler.java:239)
>>        at
>> org.apache.tuscany.sca.core.invocation.impl.AsyncJDKInvocationHandler.invoke(AsyncJDKInvocationHandler.java:161)
>>        at $Proxy34.getPatients(Unknown Source)
>>        at
>> org.rd.qm.impl.QueryOrchestratorImpl.getPatients(QueryOrchestratorImpl.java:30)
>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>        at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>        at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>        at java.lang.reflect.Method.invoke(Method.java:616)
>>        at
>> org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:164)
>>        at
>> org.apache.tuscany.sca.binding.sca.provider.SCABindingLocalInvocationInterceptor.invoke(SCABindingLocalInvocationInterceptor.java:49)
>>        at
>> org.apache.tuscany.sca.core.invocation.InterceptorAsyncImpl.invoke(InterceptorAsyncImpl.java:58)
>>        at
>> org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:322)
>>        at
>> org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:278)
>>        at
>> org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:125)
>>        at
>> org.apache.tuscany.sca.core.invocation.impl.AsyncJDKInvocationHandler.doInvokeSync(AsyncJDKInvocationHandler.java:239)
>>        at
>> org.apache.tuscany.sca.core.invocation.impl.AsyncJDKInvocationHandler.invoke(AsyncJDKInvocationHandler.java:161)
>>        at $Proxy33.getPatients(Unknown Source)
>>        at
>> org.rd.qm.impl.QueryServiceImpl.getPatients(QueryServiceImpl.java:22)
>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>        at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>        at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>        at java.lang.reflect.Method.invoke(Method.java:616)
>>        at
>> org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:164)
>>        at
>> org.apache.tuscany.sca.binding.sca.provider.SCABindingLocalInvocationInterceptor.invoke(SCABindingLocalInvocationInterceptor.java:49)
>>        at
>> org.apache.tuscany.sca.core.invocation.InterceptorAsyncImpl.invoke(InterceptorAsyncImpl.java:58)
>>        at
>> org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:322)
>>        at
>> org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:278)
>>        at
>> org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:125)
>>        at
>> org.apache.tuscany.sca.core.invocation.impl.AsyncJDKInvocationHandler.doInvokeSync(AsyncJDKInvocationHandler.java:239)
>>        at
>> org.apache.tuscany.sca.core.invocation.impl.AsyncJDKInvocationHandler.invoke(AsyncJDKInvocationHandler.java:161)
>>        at $Proxy32.getPatients(Unknown Source)
>>        at org.rd.qm.servlet.QueryServlet.service(QueryServlet.java:127)
>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>>        at
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
>>        at
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401)
>>        at
>> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>>        at
>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
>>        at
>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
>>        at
>> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
>>        at
>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>>        at
>> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>>        at
>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>>        at org.mortbay.jetty.Server.handle(Server.java:326)
>>        at
>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
>>        at
>> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:945)
>>        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
>>        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
>>        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>>        at
>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
>>        at
>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
>> Caused by: java.io.NotSerializableException:
>> com.bca.pearl.domain.impl.PatientImpl
>>        at
>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>        at
>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>        at java.util.ArrayList.writeObject(ArrayList.java:673)
>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>        at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>        at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>        at java.lang.reflect.Method.invoke(Method.java:616)
>>        at
>> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:962)
>>        at
>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1480)
>>        at
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
>>        at
>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>        at
>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>        at
>> org.apache.tuscany.sca.databinding.javabeans.JavaBeansDataBinding.copy(JavaBeansDataBinding.java:79)
>>        ... 58 more
>>
>>
>>      Caused by:
>>
>> java.io.NotSerializableException: com.bca.pearl.domain.impl.PatientImpl
>>        at
>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
>>        at
>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>        at java.util.ArrayList.writeObject(ArrayList.java:673)
>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>        at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>        at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>        at java.lang.reflect.Method.invoke(Method.java:616)
>>        at
>> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:962)
>>        at
>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1480)
>>        at
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
>>        at
>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
>>        at
>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
>>        at
>> org.apache.tuscany.sca.databinding.javabeans.JavaBeansDataBinding.copy(JavaBeansDataBinding.java:79)
>>        at
>> org.apache.tuscany.sca.databinding.DefaultDataBindingExtensionPoint$LazyDataBinding.copy(DefaultDataBindingExtensionPoint.java:169)
>>        at
>> org.apache.tuscany.sca.databinding.impl.MediatorImpl.copy(MediatorImpl.java:542)
>>        at
>> org.apache.tuscany.sca.databinding.impl.MediatorImpl.copyOutput(MediatorImpl.java:615)
>>        at
>> org.apache.tuscany.sca.binding.sca.provider.SCABindingInvoker.processResponse(SCABindingInvoker.java:120)
>>        at
>> org.apache.tuscany.sca.core.invocation.InterceptorAsyncImpl.invoke(InterceptorAsyncImpl.java:59)
>>        at
>> org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:322)
>>        at
>> org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:278)
>>        at
>> org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:125)
>>        at
>> org.apache.tuscany.sca.core.invocation.impl.AsyncJDKInvocationHandler.doInvokeSync(AsyncJDKInvocationHandler.java:239)
>>        at
>> org.apache.tuscany.sca.core.invocation.impl.AsyncJDKInvocationHandler.invoke(AsyncJDKInvocationHandler.java:161)
>>        at $Proxy34.getPatients(Unknown Source)
>>        at
>> org.rd.qm.impl.QueryOrchestratorImpl.getPatients(QueryOrchestratorImpl.java:30)
>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>        at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>        at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>        at java.lang.reflect.Method.invoke(Method.java:616)
>>        at
>> org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:164)
>>        at
>> org.apache.tuscany.sca.binding.sca.provider.SCABindingLocalInvocationInterceptor.invoke(SCABindingLocalInvocationInterceptor.java:49)
>>        at
>> org.apache.tuscany.sca.core.invocation.InterceptorAsyncImpl.invoke(InterceptorAsyncImpl.java:58)
>>        at
>> org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:322)
>>        at
>> org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:278)
>>        at
>> org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:125)
>>        at
>> org.apache.tuscany.sca.core.invocation.impl.AsyncJDKInvocationHandler.doInvokeSync(AsyncJDKInvocationHandler.java:239)
>>        at
>> org.apache.tuscany.sca.core.invocation.impl.AsyncJDKInvocationHandler.invoke(AsyncJDKInvocationHandler.java:161)
>>        at $Proxy33.getPatients(Unknown Source)
>>        at
>> org.rd.qm.impl.QueryServiceImpl.getPatients(QueryServiceImpl.java:22)
>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>        at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>        at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>        at java.lang.reflect.Method.invoke(Method.java:616)
>>        at
>> org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:164)
>>        at
>> org.apache.tuscany.sca.binding.sca.provider.SCABindingLocalInvocationInterceptor.invoke(SCABindingLocalInvocationInterceptor.java:49)
>>        at
>> org.apache.tuscany.sca.core.invocation.InterceptorAsyncImpl.invoke(InterceptorAsyncImpl.java:58)
>>        at
>> org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:322)
>>        at
>> org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:278)
>>        at
>> org.apache.tuscany.sca.core.invocation.impl.JDKInvocationHandler.invoke(JDKInvocationHandler.java:125)
>>        at
>> org.apache.tuscany.sca.core.invocation.impl.AsyncJDKInvocationHandler.doInvokeSync(AsyncJDKInvocationHandler.java:239)
>>        at
>> org.apache.tuscany.sca.core.invocation.impl.AsyncJDKInvocationHandler.invoke(AsyncJDKInvocationHandler.java:161)
>>        at $Proxy32.getPatients(Unknown Source)
>>        at org.rd.qm.servlet.QueryServlet.service(QueryServlet.java:127)
>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>>        at
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
>>        at
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401)
>>        at
>> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>>        at
>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
>>        at
>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
>>        at
>> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
>>        at
>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>>        at
>> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>>        at
>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>>        at org.mortbay.jetty.Server.handle(Server.java:326)
>>        at
>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
>>        at
>> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:945)
>>        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
>>        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
>>        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>>        at
>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
>>        at
>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
>>
>> ------------------------------------------------------------------------
>> /Powered by Jetty:///
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>

Reply via email to