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

Reply via email to