Hi Thats why this code is in sand-box folder :) I'm aware of this problem. Its look like jibx prefer to work with xml document as a whole, instead of working with its small parts. I think the problem is with StaxReaderWrapper which assume he has access to all xml data. I sent info to Denis Sosnowski ( autor of jibx ) about this and i'm waiting for the answer. I don't want to try patching this myself now, becasue Denis is going to release new version with better stax support soon ( and i dont have much time lately :( ), so i hope this will be fixed. As soon as new version will appear, i'll update code or try patching jibx ;).
-----Original Message----- From: Stefan Reger [mailto:[EMAIL PROTECTED] Sent: Saturday, April 15, 2006 2:17 PM To: [email protected] Subject: [xfire-user] unmarshalling problem with xfire/jibx sandbox I use jibx for data binding with Tomasz Sztelak's sandbox JibxObjectFactory. The marshalling of his example works correctly (result is: <?xml version='1.0' encoding='UTF-8'?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soap:Body> <ns:Account xmlns:ns="http://jibx.xfire.codehaus.org"> <accountNo>33040770037003665</accountNo>< /ns:Account> </soap:Body></soap:Envelope>). But the server side fails to unmarshal with following error: java.lang.ArrayIndexOutOfBoundsException: Attempt to peek past end of stack at org.jibx.runtime.IntStack.peek(IntStack.java:231) at org.jibx.runtime.IntStack.peek(IntStack.java:245) at org.jibx.runtime.impl.StAXReaderWrapper.endTag(StAXReaderWrapper.java:13 3) at org.jibx.runtime.impl.StAXReaderWrapper.nextToken(StAXReaderWrapper.java :156) at org.jibx.runtime.impl.UnmarshallingContext.parseContentText(Unmarshallin gContext.java:911) at org.jibx.runtime.impl.UnmarshallingContext.parseElementText(Unmarshallin gContext.java:967) at org.codehaus.xfire.jibx.Account.JiBX_de_unmarshal_1_0(Account.java) at org.codehaus.xfire.jibx.JiBX_deAccount_access.unmarshal() at org.jibx.runtime.impl.UnmarshallingContext.unmarshalElement(Unmarshallin gContext.java:2485) at org.codehaus.xfire.jibx.JibxType.readObject(JibxType.java:93) at org.codehaus.xfire.aegis.AegisBindingProvider.readParameter(AegisBinding Provider.java:91) at org.codehaus.xfire.service.binding.AbstractBinding.read(AbstractBinding. java:175) at org.codehaus.xfire.service.binding.DocumentBinding.readMessage(DocumentB inding.java:32) at org.codehaus.xfire.soap.handler.SoapBodyHandler.invoke(SoapBodyHandler.j ava:42) at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:9 8) at org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.j ava:58) at org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.jav a:38) I use Jibx 1.1beta (from January 11) and Xfire 1.0 with Woodstox. Do you have any ideas about it? It seems the Unmarshaller decreases the nested depth variable ignoring that the end of document has reached. Thank you for your help, Stefan Reger
