Thanks for your message Andreas. Same exception I am facing for AXIS2-1.6.2
also. For that reason I moove back to Axis2-1.5.1 and this time also I
don't get any luck.

Thanks,
Satya

On Tue, Aug 18, 2015 at 4:02 PM, Andreas Veithen <[email protected]>
wrote:

> Axis2 1.5.1 is old and no longer supported. To get help with this issue,
> you will likely need to upgrade to 1.6.x.
>
> Andreas
>
>
> On Tue, Aug 18, 2015 at 9:22 AM, satyapriya sahoo <
> [email protected]> wrote:
>
>> Hi,
>>
>>  I am using Axis2-1.5.1 with JDK1.6.
>>
>> I have written 1 module to write the SOAP Messages. Here I am acting as a
>> *server*.
>> When it is trying to write the SOAP ENVELOPE IN Message, it is throwing
>> the Bellow Exception
>>
>> 18 Aug 2015 13:03:41,956 - ERROR invoke (TestHandler.java:66) - Exception
>> Occured while logging the message
>> *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(OMElementImpl.java:339)
>> at
>> org.apache.axiom.om.impl.traverse.OMChildrenIterator.next(OMChildrenIterator.java:102)
>> at
>> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:953)
>> at
>> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:937)
>> at
>> org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(SOAPEnvelopeImpl.java:227)
>> at
>> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:937)
>> at org.apache.axiom.om.impl.llom.OMNodeImpl.serialize(OMNodeImpl.java:387)
>> at
>> org.apache.axiom.om.impl.llom.OMElementImpl.toString(OMElementImpl.java:1106)
>> at
>> com.synchronoss.webservice.itsm.logger.TestHandler.invoke(TestHandler.java:34)
>> at org.apache.axis2.engine.Phase.invoke(Phase.java:318)
>> at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:251)
>> at org.apache.axis2.engine.AxisEngine.sendFault(AxisEngine.java:508)
>> at
>> org.apache.axis2.transport.http.AxisServlet.handleFault(AxisServlet.java:423)
>> at
>> org.apache.axis2.transport.http.AxisServlet.processAxisFault(AxisServlet.java:386)
>> at
>> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:176)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>> at
>> weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
>> at
>> weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
>> at
>> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
>> at
>> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183)
>> at
>> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3717)
>> at
>> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
>> at
>> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
>> at
>> weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
>> at
>> weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
>> at
>> weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
>> at
>> weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
>> at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
>> at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
>>
>>
>> STEPS I followed :
>>
>> *Created 1 TestModule.java*
>>
>> package com.test.logger;
>>
>> import org.apache.axis2.AxisFault;
>> import org.apache.axis2.context.ConfigurationContext;
>> import org.apache.axis2.description.AxisDescription;
>> import org.apache.axis2.description.AxisModule;
>> import org.apache.axis2.modules.Module;
>> import org.apache.neethi.Assertion;
>> import org.apache.neethi.Policy;
>>
>> public class TestModule implements Module{
>>
>> @Override
>> public void applyPolicy(Policy arg0, AxisDescription arg1) throws
>> AxisFault {
>> // TODO Auto-generated method stub
>> }
>>
>> @Override
>> public boolean canSupportAssertion(Assertion arg0) {
>> // TODO Auto-generated method stub
>> return false;
>> }
>>
>> @Override
>> public void engageNotify(AxisDescription arg0) throws AxisFault {
>> // TODO Auto-generated method stub
>> }
>>
>> @Override
>> public void init(ConfigurationContext arg0, AxisModule arg1)
>> throws AxisFault {
>> // TODO Auto-generated method stub
>> }
>>
>> @Override
>> public void shutdown(ConfigurationContext arg0) throws AxisFault {
>> // TODO Auto-generated method stub
>> }
>>
>> }
>>
>> *2) Created 1 Handler class*
>> package com.test.logger;
>>
>> import org.apache.axis2.AxisFault;
>> import org.apache.axis2.context.MessageContext;
>> import org.apache.axis2.context.OperationContext;
>> import org.apache.axis2.engine.Handler;
>> import org.apache.axis2.handlers.AbstractHandler;
>> import org.apache.axis2.wsdl.WSDLConstants;
>> import org.apache.commons.logging.Log;
>> import org.apache.commons.logging.LogFactory;
>>
>> public class TestHandler extends AbstractHandler implements Handler{
>>
>> private static Log log = LogFactory.getLog(TestHandler.class);
>>
>> private String name;
>>
>> public String getName() {
>> return name;
>> }
>>
>> public void setName(String name) {
>> log.debug("Setting name as :"+name);
>> this.name = name;
>> }
>>
>> public InvocationResponse invoke(MessageContext msgContext) throws
>> AxisFault {
>> try{
>> log.debug("Received Request.");
>> StringBuilder stringBuilder=new StringBuilder();
>> OperationContext operationContext = msgContext.getOperationContext();
>> if(operationContext!=null){
>> MessageContext inMessage =
>> operationContext.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
>> *String inSoapRequest = inMessage.getEnvelope().toString();
>>  
>> <-------------------------------------------------------------------------------------Facing
>> Problem here*
>>
>> MessageContext outMessage =
>> operationContext.getMessageContext(WSDLConstants.MESSAGE_LABEL_OUT_VALUE);
>> MessageContext faultMessage =
>> operationContext.getMessageContext(WSDLConstants.MESSAGE_LABEL_FAULT_VALUE);
>>
>> if(outMessage==null&&faultMessage==null){
>> log.debug("\n--------------Request Received(NEW
>> LOGGER)--------------\n"+inSoapRequest);
>> }
>> if(outMessage!=null || faultMessage!=null){
>> stringBuilder.append("\n-------IN MESSAGE(NEW LOGGER)-------\n");
>>
>> stringBuilder.append(inSoapRequest);
>> stringBuilder.append("\n-------OUT MESSAGE(NEW LOGGER)-------\n");
>>
>> if(outMessage!=null){
>>
>> String outMessageEnvelope = outMessage.getEnvelope().toString();
>> stringBuilder.append(outMessageEnvelope);
>> }
>>
>> if(faultMessage!=null){
>> stringBuilder.append("\n-------FAULT MESSAGE(NEW LOGGER)-------\n");
>> String faultMessagerEnvelope = faultMessage.getEnvelope().toString();
>> stringBuilder.append(faultMessagerEnvelope);
>> //                                   stringBuilder.append("\n Fault
>> Envelope : "+faultMessagerEnvelope+"\n");
>> //                                   stringBuilder.append("\n Fault
>> Reason : "+faultMessage.getFailureReason().getMessage()+"\n");
>> //
>> faultMessage.getFailureReason().printStackTrace();
>> }
>>
>> log.debug("\nTRANSACTION START (NEW LOGGER):"+stringBuilder.toString()+
>> "\nTRANSACTION END\n");
>> }
>>
>> }
>> }catch(Exception e){
>> log.error("Exception Occured while logging the message ",e);
>> }
>> return InvocationResponse.CONTINUE;
>> }
>>
>> public void revoke(MessageContext msgContext) {
>> log.debug("Revoking Started");
>> log.info(msgContext.getEnvelope().toString());
>> log.debug("Revoking completed");
>> }
>>
>> }
>>
>> 3) U*nder META-INF folder, I put the module.xml*
>>
>> <module name="TestModule" class="com.test.logger.TestModule">
>>     <InFlow>
>>         <handler name="InFlowLogHandler"
>> class="com.test.logger.TestHandler">
>>             <order phase="TestPhase" />
>>         </handler>
>>     </InFlow>
>>
>>     <OutFlow>
>>         <handler name="OutFlowLogHandler"
>> class="com.test.logger.TestHandler">
>>             <order phase="TestPhase"/>
>>         </handler>
>>     </OutFlow>
>>
>>     <OutFaultFlow>
>>         <handler name="FaultOutFlowLogHandler"
>> class="com.test.logger.TestHandler">
>>             <order phase="TestPhase"/>
>>         </handler>
>>     </OutFaultFlow>
>>
>>     <InFaultFlow>
>>         <handler name="FaultInFlowLogHandler"
>> class="com.test.loggerTestHandler">
>>             <order phase="TestPhase"/>
>>         </handler>
>>     </InFaultFlow>
>> </module>
>>
>> *4) Then I created the .mar file and put it under AXIS2/WEB-INF/modules*
>>
>> *5) After that I modify the axis2.xml*
>>
>>  <!-- Global Modules  -->
>>     <!-- ================================================= -->
>>     <!-- Comment this to disable Addressing -->
>>     <module ref="addressing"/>
>>  *   <module ref="TestModule"/>*
>>
>>  <phaseOrder type="InFlow">
>>         <!--  System predefined phases       -->
>>         <phase name="Transport">
>>             <handler name="RequestURIBasedDispatcher"
>>
>>  class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
>>                 <order phase="Transport"/>
>>             </handler>
>>             <handler name="SOAPActionBasedDispatcher"
>>
>>  class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
>>                 <order phase="Transport"/>
>>             </handler>
>>         </phase>
>>         <phase name="Addressing">
>>             <handler name="AddressingBasedDispatcher"
>>
>>  class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
>>                 <order phase="Addressing"/>
>>             </handler>
>>         </phase>
>>       *  <phase name="TestPhase"/>*
>>         <phase name="Security"/>
>>         <phase name="PreDispatch"/>
>>         <phase name="Dispatch"
>> class="org.apache.axis2.engine.DispatchPhase">
>>             <handler name="RequestURIBasedDispatcher"
>>
>>  class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
>>             <handler name="SOAPActionBasedDispatcher"
>>
>>  class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
>>             <handler name="RequestURIOperationDispatcher"
>>
>>  class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
>>             <handler name="SOAPMessageBodyBasedDispatcher"
>>
>>  class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
>>             <handler name="HTTPLocationBasedDispatcher"
>>
>>  class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
>>             <handler name="GenericProviderDispatcher"
>>
>>  class="org.apache.axis2.jaxws.dispatchers.GenericProviderDispatcher"/>
>>             <handler name="MustUnderstandValidationDispatcher"
>>
>>  
>> class="org.apache.axis2.jaxws.dispatchers.MustUnderstandValidationDispatcher"/>
>>         </phase>
>>         <phase name="RMPhase"/>
>>         <!--  System predefined phases       -->
>>         <!--   After Postdispatch phase module author or service author
>> can add any phase he want      -->
>>         <phase name="OperationInPhase">
>>             <handler name="MustUnderstandChecker"
>>
>>  class="org.apache.axis2.jaxws.dispatchers.MustUnderstandChecker">
>>                 <order phase="OperationInPhase"/>
>>             </handler>
>>         </phase>
>>         <phase name="soapmonitorPhase"/>
>>     </phaseOrder>
>>     <phaseOrder type="OutFlow">
>>         <!--      user can add his own phases to this area  -->
>>         <phase name="soapmonitorPhase"/>
>>         <phase name="OperationOutPhase"/>
>>         <!--system predefined phase-->
>>         <!--these phase will run irrespective of the service-->
>>         <phase name="RMPhase"/>
>>         <phase name="PolicyDetermination"/>
>>         <phase name="MessageOut">
>> </phase>
>>         <phase name="Security"/>
>>         *<phase name="TestPhase"/>*
>>     </phaseOrder>
>>     <phaseOrder type="InFaultFlow">
>>         <phase name="Addressing">
>>             <handler name="AddressingBasedDispatcher"
>>
>>  class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
>>                 <order phase="Addressing"/>
>>             </handler>
>>         </phase>
>>         <phase name="Security"/>
>> *        <phase name="TestPhase"/>*
>>         <phase name="PreDispatch"/>
>>         <phase name="Dispatch"
>> class="org.apache.axis2.engine.DispatchPhase">
>>             <handler name="RequestURIBasedDispatcher"
>>
>>  class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
>>             <handler name="SOAPActionBasedDispatcher"
>>
>>  class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
>>             <handler name="RequestURIOperationDispatcher"
>>
>>  class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
>>             <handler name="SOAPMessageBodyBasedDispatcher"
>>
>>  class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
>>             <handler name="HTTPLocationBasedDispatcher"
>>
>>  class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
>>             <handler name="GenericProviderDispatcher"
>>
>>  class="org.apache.axis2.jaxws.dispatchers.GenericProviderDispatcher"/>
>>             <handler name="MustUnderstandValidationDispatcher"
>>
>>  
>> class="org.apache.axis2.jaxws.dispatchers.MustUnderstandValidationDispatcher"/>
>>         </phase>
>>         <phase name="RMPhase"/>
>>         <!--      user can add his own phases to this area  -->
>>         <phase name="OperationInFaultPhase"/>
>>         <phase name="soapmonitorPhase"/>
>>
>>     </phaseOrder>
>>     <phaseOrder type="OutFaultFlow">
>>         <!--      user can add his own phases to this area  -->
>>         <phase name="soapmonitorPhase"/>
>>         <phase name="OperationOutFaultPhase"/>
>>         <phase name="RMPhase"/>
>>         <phase name="PolicyDetermination"/>
>>         <phase name="MessageOut">
>> </phase>
>>         <phase name="Security"/>
>>       *  <phase name="TestPhase"/>*
>>     </phaseOrder>
>>
>> No Idea why I am getting the Exception. Again In my Server code when I am
>> trying to access The SOAPEnvelope , it is giving the the bellow exception
>>
>> *MessageContext messageContext =
>> MessageContext.getCurrentMessageContext();*
>> *SOAPEnvelope soapEnvelope = messageContext.getEnvelope();*
>>
>> when I am trying to print or access the *soapEnvelope*, it is throwing
>>  the bellow exception
>> *com.sun.jdi.InvocationException occurred invoking method.*
>>
>>
>>
>> The SOAP XML I am sending to server is like bellow Format,
>>
>> <SOAP-ENV:Envelope xmlns:SOAP-ENV="
>> http://schemas.xmlsoap.org/soap/envelope/";>
>>     <SOAP-ENV:Header>
>>         <AuthenticationInfo>
>>             <userName>ABC</userName>
>>             <password>ABC</password>
>>         </AuthenticationInfo>
>>     </SOAP-ENV:Header>
>>     <SOAP-ENV:Body>
>>         <EMP>
>>              <NAME>SATYA</NAME>
>>               <ROLLNO>1</ROLLNO>
>>          </EMP>
>>     </SOAP-ENV:Body>
>> </SOAP-ENV:Envelope>
>>
>> Please help me and suggest me how to solve this problem. If I did
>> anything wrong please let me know. Your suggestions are valuable to me.
>>
>> Thanks,
>> Satya
>>
>
>

Reply via email to