Hi,

Do you have circular object references in the graph? JSON doesn't support circular references.

Thanks,
Raymond
--------------------------------------------------
From: "Angel Tomala-Reyes" <[EMAIL PROTECTED]>
Sent: Friday, September 12, 2008 10:59 AM
To: <[email protected]>
Subject: problem marshalling JPA beans

I am having an issue where I have a one to many relationship between
to tables.  JPA tool creates two clases with one to many
relationship.  The problem is, when JSONRPC tries to send the data to
the client, it throws the following exception.  Is there anyway to
avoid this problem?


{"error":{"code":
490,"msg":"org.apache.tuscany.sca.databinding.TransformationException:
com.metaparadigm.jsonrpc.MarshallException: bean
org.apache.openjpa.enhance.org$tnc$rbsf$jpa$Report$pcsubclass bean
org.apache.openjpa.enhance.org$tnc$rbsf$jpa$Project$pcsubclass bean
org.apache.openjpa.enhance.org$tnc$rbsf$jpa$Basin$pcsubclass bean
org.apache.openjpa.enhance.org$tnc$rbsf$jpa$Basin$pcsubclass circular
reference
","trace":"org.apache.tuscany.sca.databinding.TransformationException:
org.apache.tuscany.sca.databinding.TransformationException:
com.metaparadigm.jsonrpc.MarshallException: bean
org.apache.openjpa.enhance.org$tnc$rbsf$jpa$Report$pcsubclass bean
org.apache.openjpa.enhance.org$tnc$rbsf$jpa$Project$pcsubclass bean
org.apache.openjpa.enhance.org$tnc$rbsf$jpa$Basin$pcsubclass bean
org.apache.openjpa.enhance.org$tnc$rbsf$jpa$Basin$pcsubclass circular
reference\n\tat
org
.apache
.tuscany
.sca
.core
.databinding
.transformers
.Output2OutputTransformer.transform(Output2OutputTransformer.java:
250)\n\tat
org
.apache
.tuscany.sca.databinding.impl.MediatorImpl.mediate(MediatorImpl.java:
81)\n\tat
org
.apache
.tuscany
.sca
.core
.databinding
.wire
.DataTransformationInterceptor
.transform(DataTransformationInterceptor.java:186)\n\tat
org
.apache
.tuscany
.sca
.core
.databinding
.wire
.DataTransformationInterceptor
.invoke(DataTransformationInterceptor.java:169)\n\tat
org
.apache
.tuscany
.sca.core.invocation.RuntimeWireInvoker.invoke(RuntimeWireInvoker.java:
110)\n\tat
org
.apache
.tuscany
.sca.core.invocation.RuntimeWireInvoker.invoke(RuntimeWireInvoker.java:
85)\n\tat
org
.apache
.tuscany
.sca.core.invocation.RuntimeWireInvoker.invoke(RuntimeWireInvoker.java:
79)\n\tat
org
.apache
.tuscany.sca.core.assembly.RuntimeWireImpl.invoke(RuntimeWireImpl.java:
134)\n\tat
org
.apache
.tuscany
.sca
.binding
.jsonrpc
.provider
.JSONRPCServiceServlet
.handleJSONRPCMethodInvocation(JSONRPCServiceServlet.java:238)\n\tat
org
.apache
.tuscany
.sca
.binding
.jsonrpc
.provider
.JSONRPCServiceServlet.handleServiceRequest(JSONRPCServiceServlet.java:
150)\n\tat
org
.apache
.tuscany
.sca
.binding
.jsonrpc
.provider.JSONRPCServiceServlet.service(JSONRPCServiceServlet.java:
92)\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:
820)\n\tat
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
487)\n\tat
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
362)\n\tat
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
181)\n\tat
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
726)\n\tat
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
139)\n\tat org.mortbay.jetty.Server.handle(Server.java:324)\n\tat
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
505)\n\tat org.mortbay.jetty.HttpConnection
$RequestHandler.content(HttpConnection.java:842)\n\tat
org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)\n\tat
org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)\n\tat
org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)\n\tat
org
.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
395)\n\tat
org.apache.tuscany.sca.core.work.Jsr237Work.run(Jsr237Work.java:63)\n
\tat org.apache.tuscany.sca.core.work.ThreadPoolWorkManager
$DecoratingWork.run(ThreadPoolWorkManager.java:221)\n\tat
java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:650)\n\tat
java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:675)\n\tat
java.lang.Thread.run(Thread.java:613)\nCaused by:
org.apache.tuscany.sca.databinding.TransformationException:
com.metaparadigm.jsonrpc.MarshallException: bean
org.apache.openjpa.enhance.org$tnc$rbsf$jpa$Report$pcsubclass bean
org.apache.openjpa.enhance.org$tnc$rbsf$jpa$Project$pcsubclass bean
org.apache.openjpa.enhance.org$tnc$rbsf$jpa$Basin$pcsubclass bean
org.apache.openjpa.enhance.org$tnc$rbsf$jpa$Basin$pcsubclass circular
reference\n\tat
org
.apache
.tuscany
.sca.databinding.json.JavaBean2JSON.transform(JavaBean2JSON.java:78)\n
\tat
org.apache.tuscany.sca.databinding.DefaultTransformerExtensionPoint
$LazyPullTransformer.transform(DefaultTransformerExtensionPoint.java:
199)\n\tat
org
.apache
.tuscany.sca.databinding.impl.MediatorImpl.mediate(MediatorImpl.java:
81)\n\tat
org
.apache
.tuscany
.sca
.core
.databinding
.transformers
.Output2OutputTransformer.transform(Output2OutputTransformer.java:
246)\n\t... 28 more\nCaused by:
com.metaparadigm.jsonrpc.MarshallException: bean
org.apache.openjpa.enhance.org$tnc$rbsf$jpa$Report$pcsubclass bean
org.apache.openjpa.enhance.org$tnc$rbsf$jpa$Project$pcsubclass bean
org.apache.openjpa.enhance.org$tnc$rbsf$jpa$Basin$pcsubclass bean
org.apache.openjpa.enhance.org$tnc$rbsf$jpa$Basin$pcsubclass circular
reference\n\tat
com.metaparadigm.jsonrpc.BeanSerializer.marshall(BeanSerializer.java:
267)\n\tat
com.metaparadigm.jsonrpc.JSONSerializer.marshall(JSONSerializer.java:
250)\n\tat
com.metaparadigm.jsonrpc.ArraySerializer.marshall(ArraySerializer.java:
169)\n\tat
com.metaparadigm.jsonrpc.JSONSerializer.marshall(JSONSerializer.java:
250)\n\tat
org
.apache
.tuscany.sca.databinding.json.JavaBean2JSON.toJSON(JavaBean2JSON.java:
71)\n\tat
org
.apache
.tuscany
.sca.databinding.json.JavaBean2JSON.transform(JavaBean2JSON.java:76)\n
\t... 31 more\n"},"id":1}

these are the classes that seem to throw the circular exception.


Reply via email to