Hello Everyone,

The code that I've written so far is available at[1], [2] and it for simple
data types. I've used the Axis2 JiBX implementation as guide and now I am
working on implementing the complex data type support.

However there seems to be an error when we present the XMLSteramReader
obtained form CXF runtime to JiBX UnmashallingContext which needs work on
process a part of an XML document not as a whole. However when we present an
XMLStreamRead from which it can read the desired element as a whole document
it seems to work.[4]. I suspect this is a bug in JiBX framework and I am
willing to hear expert advice on this.

Any suggestions, advice and tips will be much appreciated !!


Thanks & Regards,
Nilupa

[1] http://github.com/nilupa/cxf

[2] http://github.com/nilupa/cxf/tree/trunk/rt/databinding/jibx/

[3] Error output:

ava.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:159)
at
org.jibx.runtime.impl.StAXReaderWrapper.nextToken(StAXReaderWrapper.java:182)
at
org.jibx.runtime.impl.UnmarshallingContext.accumulateText(UnmarshallingContext.java:840)
at
org.jibx.runtime.impl.UnmarshallingContext.parseContentText(UnmarshallingContext.java:874)
at
org.jibx.runtime.impl.UnmarshallingContext.parseElementText(UnmarshallingContext.java:936)
at org.apache.xcf.jibx.JibxDataReader.read(JibxDataReader.java:57)
at org.apache.xcf.jibx.JibxDataReader.read(JibxDataReader.java:1)
at
org.apache.cxf.interceptor.DocLiteralInInterceptor.getPara(DocLiteralInInterceptor.java:251)
at
org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:127)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:110)
at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:313)
at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:277)
at
org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:536)
at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:930)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405)
at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

[4] Work around JibxDataReader.java : line 90

        try {
            reader =
StaxUtils.createXMLStreamReader(StaxUtils.read(reader));
        } catch (Exception e) {
            throw new RuntimeException(e);
        }




On Fri, Apr 30, 2010 at 11:30 AM, Nilupa Bandara <[email protected]
> wrote:

> Hi,
>
> At the moment, I am running the sample Web services in debug mode just to
> get a deeper understanding of how the cxf data
>  binding architecture works at runtime. I am also planning to look at how
> its done for Axis2 and perhaps we might be able to reuse some of that code
> there. As soon as I have something concrete, will post it to this mailing
> list.
>
> Thanks & Best Regards,
> Nilupa
>
>
> On Fri, Apr 30, 2010 at 2:00 AM, Dennis Sosnoski <[email protected]> wrote:
>
>> I'm curious how the JiBX databinding GSoC project is progressing...
>> anything to discuss yet?
>>
>> JiBX is pretty flexible in how it reads and writes XML, with its own
>> org.jibx.runtime.IXMLReader and IXMLWriter interfaces used to decouple from
>> the details of the parser and writer. Implementations of these interfaces
>> are supplied for working with StAX XMLStreamReader and XMLStreamWriter, and
>> the existing Axis2 support for JiBX should be a good guide for fitting the
>> actual runtime hooks together.
>>
>> Just to make sure I understand how this works, JAX-WS configuration can be
>> used with any type of org.apache.cxf.databinding.DataBinding implementation,
>> right? So someone wanting to use JiBX with a JAX-WS frontend would just need
>> to specify this using their preferred configuration technique (such as
>> cxf-client.xml on the client side).
>>
>> Thanks,
>>
>>  - Dennis
>>
>
>


-- 
Nilupa Bandara

Reply via email to