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:133)
at
org.jibx.runtime.impl.StAXReaderWrapper.nextToken(StAXReaderWrapper.java:156)
at
org.jibx.runtime.impl.UnmarshallingContext.parseContentText(UnmarshallingContext.java:911)
at
org.jibx.runtime.impl.UnmarshallingContext.parseElementText(UnmarshallingContext.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(UnmarshallingContext.java:2485)
at org.codehaus.xfire.jibx.JibxType.readObject(JibxType.java:93)
at
org.codehaus.xfire.aegis.AegisBindingProvider.readParameter(AegisBindingProvider.java:91)
at
org.codehaus.xfire.service.binding.AbstractBinding.read(AbstractBinding.java:175)
at
org.codehaus.xfire.service.binding.DocumentBinding.readMessage(DocumentBinding.java:32)
at
org.codehaus.xfire.soap.handler.SoapBodyHandler.invoke(SoapBodyHandler.java:42)
at
org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:98)
at
org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:58)
at
org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java: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