[ http://jira.codehaus.org/browse/XFIRE-362?page=comments#action_64050 ]
Jara Cesnek commented on XFIRE-362: ----------------------------------- Not realy cool :-( > Unable to serialize cycle graph of object > ----------------------------------------- > > Key: XFIRE-362 > URL: http://jira.codehaus.org/browse/XFIRE-362 > Project: XFire > Type: Bug > Components: Aegis Module > Versions: 1.1-beta-1 > Reporter: Jara Cesnek > Assignee: Dan Diephouse > Priority: Blocker > > > @WebService(name="tst",serviceName="tst",targetNamespace="http://eno.ws.daisy.marbes.cz") > public class Test { > public static class Wstest1 { > private Wstest2 ws2; > public Wstest2 getWS2(){ > return ws2; > } > } > public static class Wstest2 { > private Wstest1 ws1; > public Wstest1 getWS1(){ > return ws1; > } > } > @WebMethod > public Wstest1 wstest() throws Exception { > Wstest1 ws1 = new Wstest1(); > Wstest2 ws2 = new Wstest2(); > ws1.ws2 = ws2; > ws2.ws1 = ws1; > return ws1; > } > } > This produce graph of object with cycle and endup with exception > 2006-04-23 23:23:47,277 DEBUG http-8090-Processor2 [HandlerPipeline] Invoking > handler org.codehaus.xfire.handler.OutMessageSender in phase send > 2006-04-23 23:23:47,618 ERROR http-8090-Processor2 [DispatcherServlet] Could > not complete request > org.springframework.web.util.NestedServletException: Handler processing > failed; nested exception is java.lang.StackOverflowError: null > java.lang.StackOverflowError > at sun.nio.cs.UTF_8$Encoder.encodeArrayLoop(UTF_8.java:504) > at sun.nio.cs.UTF_8$Encoder.encodeLoop(UTF_8.java:575) > at java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:544) > at > sun.nio.cs.StreamEncoder$CharsetSE.implWrite(StreamEncoder.java:384) > at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:136) > at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:124) > at java.io.OutputStreamWriter.write(OutputStreamWriter.java:178) > at > com.ctc.wstx.sw.BaseNsStreamWriter.closeStartElement(BaseNsStreamWriter.java:343) > at > com.ctc.wstx.sw.BaseNsStreamWriter.checkStartElement(BaseNsStreamWriter.java:387) > at > com.ctc.wstx.sw.SimpleNsStreamWriter.writeStartOrEmpty(SimpleNsStreamWriter.java:253) > at > com.ctc.wstx.sw.BaseNsStreamWriter.writeStartElement(BaseNsStreamWriter.java:273) > at > org.codehaus.xfire.aegis.stax.ElementWriter.writeStartElement(ElementWriter.java:116) > at > org.codehaus.xfire.aegis.stax.ElementWriter.<init>(ElementWriter.java:61) > at > org.codehaus.xfire.aegis.stax.ElementWriter.getElementWriter(ElementWriter.java:161) > at > org.codehaus.xfire.aegis.type.basic.BeanType.getWriter(BeanType.java:301) > at > org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:275) > at > org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:280) > at > org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:280) > at > org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:280) > at > org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:280) > at > org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:280) > ...1000x > Xfire must maintain Set of alredy serializabled objects by equals logic and > wite only ref > (I hope this will work with hibernate proxy too). -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
