MessageContext.getEnvelope() returning NoSuchElementException
-------------------------------------------------------------

                 Key: AXIS2-4404
                 URL: https://issues.apache.org/jira/browse/AXIS2-4404
             Project: Axis 2.0 (Axis2)
          Issue Type: Bug
          Components: adb, client-api, codegen, Tools, wsdl
    Affects Versions: 1.4.1
         Environment: Axis2 1.4.1, Tomcat5.5, JDK1.5, Eclipse 3.4.2
            Reporter: Ramya
            Priority: Blocker


Hello,
I have a serious issue with getting hold of the incoming SOAP Envelope from 
MessageContext.
The reason I need the envelope is to be able to get the SOAP Header section, 
read data from it, create a new header section for the response, populate it in 
the response Header along with the Soap body data.
I am doing this in the Skeleton.
The following is the piece of code that throws a NoSuchElementException.
The wierd thing is that the error happens only on our test server (Windows 
2003- SP2 machine with jre1.5.0_13). On our dev server (Windows XP-SP3 running 
jdk1.5.0_06) here we dont get this error.

SOAPEnvelope envelope = MessageContext.getCurrentMessageContext().getEnvelope();
MessageContext.getCurrentMessageContext().getEnvelope().serialize(System.out);
System.out.println(envelope);
SOAPHeader header = envelope.getHeader();
if (header != null)
 wfContextElem = 
header.getFirstChildWithName(BntService2007Stub.WFContext.MY_QNAME);
 
MessageContext inMsgContext = MessageContext.getCurrentMessageContext();
 OperationContext operationContext =   inMsgContext.getOperationContext();
 MessageContext outMessageContext = 
operationContext.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
 outMessageContext.setEnvelope(createSOAPEnvelope());
  System.out.println("outenv in outcontext="+outMessageContext.getEnvelope());  
                        
response = ServiceDAO.getResponse(...);
 OMElement omElement = 
response.getOMElement(GetBankerNotesResponse.MY_QNAME,OMAbstractFactory.getOMFactory());
String omElementString = 
omElement.getBuilder().getDocumentElement().toStringWithConsume();
System.out.println("Response xml in skeleton="+omElementString);  

private SOAPEnvelope createSOAPEnvelope() {             
SOAPFactory fac = OMAbstractFactory.getSOAP11Factory();   
SOAPEnvelope envelope = fac.getDefaultEnvelope();
OMNamespace xsi = 
fac.createOMNamespace("http://www.w3.org/2001/XMLSchema-instance";, "xsi");
envelope.declareNamespace(xsi);
return envelope;
}

Your quick reply is highly appreciated as this is a Blocker and we are not able 
to proceed further.
Thanks!
wsnewbie

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to