[ 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

Reply via email to