axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From asheikh <asad.a.she...@gmail.com>
Subject Re: Parser has already reached end of the document. No siblings found
Date Wed, 21 Jan 2009 04:34:43 GMT
Andreas,

I couldn't respond earlier than this,  It is a soap request,

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:q0="http://www.qnb.com.qa/mwSchema" xmlns:xsd="
http://www.w3.org/2001/XMLSchema" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance">
 <soapenv:Body>
 <q0:BillRequest>
 <section>
  <uid>test012565</uid>
  <requestorID>XYZA</requestorID>
  <lang>EN</lang>
  <branchCode>0011</branchCode>
  <client>xx.xx.xx.xx</client>
  <date>2009-01-20T07:07:54.587Z</date>
  <id>0011</id>
  </section>
  <Data />
  </q0:BillRequest>
  </soapenv:Body>
  </soapenv:Envelope>



On Tue, Jan 20, 2009 at 4:11 PM, Andreas Veithen
<andreas.veithen@gmail.com>wrote:

> Can you also post a sample request that triggers this issue? In
> particular is it a SOAP or plain XML request?
>
> Andreas
>
> On Tue, Jan 20, 2009 at 12:40, asheikh <asad.a.sheikh@gmail.com> wrote:
> > Andreas,
> >
> > Below is the code that calls check method
> >
> > if ("retreiveBillservice".equals(methodName)) {
> >
> >                     RAIResponse rAIResponse = null;
> >                     RAIRequest wrappedParam = (RAIRequest)
> fromOM(msgContext
> >                             .getEnvelope().getBody().getFirstElement(),
> >                             RAIRequest.class,
> > getEnvelopeNamespaces(msgContext
> >                                     .getEnvelope()));
> >
> >                     try {
> >                         if(doCheckMM)
> >                             mmc.check(msgContext);
> >
> >
> >
> > On Tue, Jan 20, 2009 at 2:36 PM, asheikh <asad.a.sheikh@gmail.com>
> wrote:
> >>
> >> Thansk andreas, yes this is the code that causes  the exception
> >>
> >> public void check(MessageContext ctx) throws MiddlewareException {
> >>         Iterator iter = ctx.getEnvelope().getBody().getChildElements();
> >>         OMElement content = null;
> >>         while (iter.hasNext()) {
> >>             OMNode node = (OMNode) iter.next();
> >>             if (node.getType() == OMNode.ELEMENT_NODE) {
> >>                 content = (OMElement) node;
> >>                 break;
> >>             }
> >>         }
> >> ..
> >> ...
> >>
> >>
> >> On Tue, Jan 20, 2009 at 2:34 PM, Andreas Veithen
> >> <andreas.veithen@gmail.com> wrote:
> >>>
> >>> Can you post the code in MMCHandler#check?
> >>>
> >>> Andreas
> >>>
> >>> On Tue, Jan 20, 2009 at 12:11, asheikh <asad.a.sheikh@gmail.com>
> wrote:
> >>> > Thanks a lot Andreas,
> >>> >
> >>> > Please see the stactrace below:
> >>> >
> >>> > Start- Stactrace:
> >>> >
> >>> > org.apache.axiom.om.OMException: Parser has already reached end of
> the
> >>> > document. No siblings found
> >>> >     at
> >>> >
> >>> >
> org.apache.axiom.om.impl.llom.OMElementImpl.getNextOMSibling()Lorg/apache/axiom/om/OMNode;(OMElementImpl.java:339)
> >>> >     at
> >>> >
> >>> >
> org.apache.axiom.om.impl.traverse.OMChildElementIterator.next()Ljava/lang/Object;(OMChildElementIterator.java:104)
> >>> >     at
> >>> >
> >>> >
> com.xxx.yyy.mmc.MMCHandler.check(Lorg/apache/axis2/context/MessageContext;)V(MMCHandler.java:51)
> >>> >     at
> >>> >
> >>> >
> com.xxx.yyy.retrieve.RetrieveServiceMessageReceiverInOut.invokeBusinessLogic(Lorg/apache/axis2/context/MessageContext;Lorg/apache/axis2/context/MessageContext;)V(RetrieveServiceMessageReceiverInOut.java:172)
> >>> >     at
> >>> >
> >>> >
> org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.invokeBusinessLogic(Lorg/apache/axis2/context/MessageContext;)V(AbstractInOutSyncMessageReceiver.java:42)
> >>> >     at
> >>> >
> >>> >
> org.apache.axis2.receivers.AbstractMessageReceiver.receive(Lorg/apache/axis2/context/MessageContext;)V(AbstractMessageReceiver.java:100)
> >>> >     at
> >>> >
> >>> >
> org.apache.axis2.engine.AxisEngine.receive(Lorg/apache/axis2/context/MessageContext;)Lorg/apache/axis2/engine/Handler$InvocationResponse;(AxisEngine.java:176)
> >>> >     at
> >>> >
> >>> >
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(Lorg/apache/axis2/context/MessageContext;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/apache/axis2/engine/Handler$InvocationResponse;(HTTPTransportUtils.java:275)
> >>> >     at
> >>> >
> >>> >
> org.apache.axis2.transport.http.AxisServlet.doPost(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V(AxisServlet.java:133)
> >>> >     at
> >>> >
> >>> >
> javax.servlet.http.HttpServlet.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V(HttpServlet.java:760)
> >>> >     at
> >>> >
> >>> >
> javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(HttpServlet.java:853)
> >>> >     at
> >>> >
> >>> >
> weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run()Ljava/lang/Object;(ServletStubImpl.java:1072)
> >>> >     at
> >>> >
> >>> >
> weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Lweblogic/servlet/internal/FilterChainImpl;)V(ServletStubImpl.java:465)
> >>> >     at
> >>> >
> >>> >
> weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(ServletStubImpl.java:348)
> >>> >     at
> >>> >
> >>> >
> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run()Ljava/lang/Object;(WebAppServletContext.java:6981)
> >>> >     at
> >>> >
> >>> >
> weblogic.security.acl.internal.AuthenticatedSubject.doAs(Lweblogic/security/subject/AbstractSubject;Ljava/security/PrivilegedAction;)Ljava/lang/Object;(AuthenticatedSubject.java:321)2009-01-20
> >>> > 14:03:23,126 ERROR org.apache.axis2.engine.AxisEngine  -
> >>> > java.util.NoSuchElementException
> >>> > org.apache.axis2.AxisFault: java.util.NoSuchElementException
> >>> >     at
> >>> >
> >>> >
> org.apache.axis2.AxisFault.makeFault(Ljava/lang/Throwable;)Lorg/apache/axis2/AxisFault;(AxisFault.java:430)
> >>> >     at
> >>> >
> >>> >
> com.xxx.yyy.retrieve.RetrieveServiceMessageReceiverInOut.invokeBusinessLogic(Lorg/apache/axis2/context/MessageContext;Lorg/apache/axis2/context/MessageContext;)V(RetrieveServiceMessageReceiverInOut.java:739)
> >>> >     at
> >>> >
> >>> >
> org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.invokeBusinessLogic(Lorg/apache/axis2/context/MessageContext;)V(AbstractInOutSyncMessageReceiver.java:42)
> >>> >     at
> >>> >
> >>> >
> org.apache.axis2.receivers.AbstractMessageReceiver.receive(Lorg/apache/axis2/context/MessageContext;)V(AbstractMessageReceiver.java:100)
> >>> >     at
> >>> >
> >>> >
> org.apache.axis2.engine.AxisEngine.receive(Lorg/apache/axis2/context/MessageContext;)Lorg/apache/axis2/engine/Handler$InvocationResponse;(AxisEngine.java:176)
> >>> >     at
> >>> >
> >>> >
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(Lorg/apache/axis2/context/MessageContext;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/apache/axis2/engine/Handler$InvocationResponse;(HTTPTransportUtils.java:275)
> >>> >     at
> >>> >
> >>> >
> org.apache.axis2.transport.http.AxisServlet.doPost(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V(AxisServlet.java:133)
> >>> >     at
> >>> >
> >>> >
> javax.servlet.http.HttpServlet.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V(HttpServlet.java:760)
> >>> >     at
> >>> >
> >>> >
> javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(HttpServlet.java:853)
> >>> >     at
> >>> >
> >>> >
> weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run()Ljava/lang/Object;(ServletStubImpl.java:1072)
> >>> >     at
> >>> >
> >>> >
> weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Lweblogic/servlet/internal/FilterChainImpl;)V(ServletStubImpl.java:465)
> >>> >     at
> >>> >
> >>> >
> weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(ServletStubImpl.java:348)
> >>> >     at
> >>> >
> >>> >
> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run()Ljava/lang/Object;(WebAppServletContext.java:6981)
> >>> >     at
> >>> >
> >>> >
> weblogic.security.acl.internal.AuthenticatedSubject.doAs(Lweblogic/security/subject/AbstractSubject;Ljava/security/PrivilegedAction;)Ljava/lang/Object;(AuthenticatedSubject.java:321)
> >>> >     at
> >>> >
> >>> >
> weblogic.security.service.SecurityManager.runAs(Lweblogic/security/acl/internal/AuthenticatedSubject;Lweblogic/security/acl/internal/AuthenticatedSubject;Ljava/security/PrivilegedAction;)Ljava/lang/Object;(SecurityManager.java:121)
> >>> >     at
> >>> >
> >>> >
> weblogic.servlet.internal.WebAppServletContext.invokeServlet(Lweblogic/servlet/internal/ServletRequestImpl;Lweblogic/servlet/internal/ServletResponseImpl;)V(WebAppServletContext.java:3892)
> >>> >     at
> >>> >
> >>> >
> weblogic.servlet.internal.ServletRequestImpl.execute(Lweblogic/kernel/ExecuteThread;)V(ServletRequestImpl.java:2766)
> >>> >     at
> >>> >
> >>> >
> weblogic.kernel.ExecuteThread.execute(Lweblogic/kernel/ExecuteRequest;)V(ExecuteThread.java:224)
> >>> >     at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:183)
> >>> >     at
> java.lang.Thread.startThreadFromVM(Ljava/lang/Thread;)V(Unknown
> >>> > Source)
> >>> > Caused by: org.apache.axiom.om.OMException:
> >>> > java.util.NoSuchElementException
> >>> >     at
> >>> >
> >>> >
> org.apache.axiom.om.impl.builder.StAXOMBuilder.next()I(StAXOMBuilder.java:260)
> >>> >     at
> >>> >
> >>> >
> org.apache.axiom.om.impl.llom.OMElementImpl.getNextOMSibling()Lorg/apache/axiom/om/OMNode;(OMElementImpl.java:337)
> >>> >     at
> >>> >
> >>> >
> org.apache.axiom.om.impl.traverse.OMChildElementIterator.next()Ljava/lang/Object;(OMChildElementIterator.java:104)
> >>> >     at
> >>> >
> >>> >
> com.xxx.yyy.log.LogHandler.invoke(Lorg/apache/axis2/context/MessageContext;)Lorg/apache/axis2/engine/Handler$InvocationResponse;(LogHandler.java:50)
> >>> >     at
> >>> >
> >>> >
> com.xxx.yyy.retrieve.RetrieveServiceMessageReceiverInOut.invokeBusinessLogic(Lorg/apache/axis2/context/MessageContext;Lorg/apache/axis2/context/MessageContext;)V(RetrieveServiceMessageReceiverInOut.java:732)
> >>> >     ... 18 more
> >>> > Caused by: java.util.NoSuchElementException
> >>> >     at
> >>> >
> com.ctc.wstx.sr.BasicStreamReader.next()I(BasicStreamReader.java:1083)
> >>> >     at
> >>> >
> >>> >
> javax.xml.stream.util.StreamReaderDelegate.next()I(StreamReaderDelegate.java:59)
> >>> >     at
> >>> >
> >>> >
> org.apache.axiom.om.impl.builder.SafeXMLStreamReader.next()I(SafeXMLStreamReader.java:183)
> >>> >     at
> >>> >
> >>> >
> org.apache.axiom.om.impl.builder.StAXOMBuilder.parserNext()I(StAXOMBuilder.java:597)
> >>> >     at
> >>> >
> >>> >
> org.apache.axiom.om.impl.builder.StAXOMBuilder.next()I(StAXOMBuilder.java:172)
> >>> >     ... 22 more
> >>> >
> >>> > End- Stactrace:
> >>> >
> >>> > On Tue, Jan 20, 2009 at 1:52 PM, Andreas Veithen
> >>> > <andreas.veithen@gmail.com>
> >>> > wrote:
> >>> >>
> >>> >> Axiom uses a deferred parsing approach, i.e. it will build the
> object
> >>> >> tree on demand. A call to toString() triggered by the
> >>> >> System.out.println instruction or by inspecting the object in a
> >>> >> debugger will have the effect of building the entire tree. Probably
> >>> >> there is some code somewhere that works perfectly well with a fully
> >>> >> built tree, but not if it is only partially built. This could be
a
> bug
> >>> >> in Axiom. Do you have a stacktrace of the exception?
> >>> >>
> >>> >> Andreas
> >>> >>
> >>> >> On Tue, Jan 20, 2009 at 11:26, asheikh <asad.a.sheikh@gmail.com>
> >>> >> wrote:
> >>> >> > Andreas,
> >>> >> >
> >>> >> > Thanks for your input, but it is still the same... Just wondering
> >>> >> > why
> >>> >> > when i
> >>> >> > debug it is  working and when I am not it does''t work
> >>> >> >
> >>> >> > Adding following line on top of the method also helps
> >>> >> >     System.out.println("Messages: "+msgContext.getEnvelope());
> >>> >> >
> >>> >> > but this doesn't help
> >>> >> >        msgContext.getEnvelope();
> >>> >> >
> >>> >> >
> >>> >> > Thanks
> >>> >> >
> >>> >> > On Tue, Jan 20, 2009 at 12:16 PM, Andreas Veithen
> >>> >> > <andreas.veithen@gmail.com> wrote:
> >>> >> >>
> >>> >> >> Could be somehow related to WSCOMMONS-372. Can you test
this with
> >>> >> >> Axiom
> >>> >> >> 1.2.8?
> >>> >> >>
> >>> >> >> Andreas
> >>> >> >>
> >>> >> >> On Tue, Jan 20, 2009 at 08:56, asheikh <asad.a.sheikh@gmail.com>
> >>> >> >> wrote:
> >>> >> >> > Hi,
> >>> >> >> >
> >>> >> >> > I have also realized that when I debug the
> >>> >> >> > Message Context in eclipse and inspect in, it works
and the
> >>> >> >> > envelope
> >>> >> >> > message
> >>> >> >> > is there...
> >>> >> >> >
> >>> >> >> > Can please anyone give me some idea, is it a bug
in 1.4.1 or
> >>> >> >> > there is
> >>> >> >> > something I am missing. The same code works in axis2.
1.3.1
> >>> >> >> >
> >>> >> >> > Thanks in advance
> >>> >> >> >
> >>> >> >> > On Tue, Jan 20, 2009 at 8:47 AM, asheikh
> >>> >> >> > <asad.a.sheikh@gmail.com>
> >>> >> >> > wrote:
> >>> >> >> >>
> >>> >> >> >> Hi,
> >>> >> >> >>
> >>> >> >> >> I have migrated my services from axis2. 1.3 to
axis2 1.4, and
> I
> >>> >> >> >> am
> >>> >> >> >> getting
> >>> >> >> >> the following error whenever I invoke any service.
Please
> >>> >> >> >> advice,
> >>> >> >> >> Thanks in
> >>> >> >> >> advance
> >>> >> >> >>
> >>> >> >> >> This code does't work:
> >>> >> >> >>     public void invokeBusinessLogic(
> >>> >> >> >>             org.apache.axis2.context.MessageContext
> msgContext,
> >>> >> >> >>             org.apache.axis2.context.MessageContext
> >>> >> >> >> newMsgContext)
> >>> >> >> >>             throws org.apache.axis2.AxisFault
{
> >>> >> >> >>
> >>> >> >> >>         try {
> >>> >> >> >>
> >>> >> >> >>             // get the implementation class
> >>> >> >> >>             Object obj =
> getTheImplementationObject(msgContext);
> >>> >> >> >>             //System.out.println("Message xml
:
> >>> >> >> >> "+msgContext.getEnvelope());
> >>> >> >> >>
> >>> >> >> >>
> >>> >> >> >> ..... more code
> >>> >> >> >>        }
> >>> >> >> >>
> >>> >> >> >>
> >>> >> >> >> This code Works(removing comments from the System.out.):
> >>> >> >> >>     public void invokeBusinessLogic(
> >>> >> >> >>             org.apache.axis2.context.MessageContext
> msgContext,
> >>> >> >> >>             org.apache.axis2.context.MessageContext
> >>> >> >> >> newMsgContext)
> >>> >> >> >>             throws org.apache.axis2.AxisFault
{
> >>> >> >> >>
> >>> >> >> >>         try {
> >>> >> >> >>
> >>> >> >> >>             // get the implementation class
> >>> >> >> >>             Object obj =
> getTheImplementationObject(msgContext);
> >>> >> >> >>             System.out.println("Message xml :
> >>> >> >> >> "+msgContext.getEnvelope());
> >>> >> >> >>
> >>> >> >> >> ..... more code
> >>> >> >> >>        }
> >>> >> >> >>
> >>> >> >> >> Exception:
> >>> >> >> >> - <soapenv:Envelope
> >>> >> >> >> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
> >>> >> >> >> - <soapenv:Body>
> >>> >> >> >> - <soapenv:Fault>
> >>> >> >> >>   <faultcode>soapenv:Server</faultcode>
> >>> >> >> >>   <faultstring>Parser has already reached
end of the document.
> >>> >> >> >> No
> >>> >> >> >> siblings
> >>> >> >> >> found</faultstring>
> >>> >> >> >>   <detail />
> >>> >> >> >>   </soapenv:Fault>
> >>> >> >> >>   </soapenv:Body>
> >>> >> >> >>   </soapenv:Envelope>
> >>> >> >> >
> >>> >> >> >
> >>> >> >
> >>> >> >
> >>> >
> >>> >
> >>
> >
> >
>

Mime
View raw message