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 <[email protected]> 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 > <[email protected]> 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 <[email protected]> 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 <[email protected]> >> > 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> >> > >> > > >
