Kamaljeet,
Step #2 is a good enchancement request. we should be generating code
with that snippet. Can you please log a jira request?
Amila,
Can you please review this?
thanks,
dims
On 4/19/07, Kang, Kamaljeet K. <[EMAIL PROTECTED]> wrote:
These are the changes I did to get Response SOAP header.
1) Save header in the message context in the skeleton implementation.
MessageContext inMsgContext = MessageContext.getCurrentMessageContext();
OperationContext operationContext =
inMsgContext.getOperationContext();
MessageContext outMessageContext = operationContext
.getMessageContext(WSDLConstants.MESSAGE_LABEL_OUT_VALUE);
outMessageContext.setEnvelope(createSOAPEnvelope());
OMNode outHeaderNode = toOM(outHeader);
outMessageContext.getEnvelope().getHeader().addChild(outHeaderNode);
2) Modified autogenerated *InOutReceiver classes to not create new Envelope if
Envelope is already there in the context (modified whereever
factory.getDefaultEnvelope() is called)
3) Modified Stub to save the return message context
org.apache.axis2.context.MessageContext _returnMessageContext =
_operationClient.getMessageContext(
org.apache.axis2.wsdl.WSDLConstants.MESSAGE_LABEL_IN_VALUE);
org.apache.axiom.soap.SOAPEnvelope _returnEnv =
_returnMessageContext.getEnvelope();
// Added this line
_serviceClient.getServiceContext().setLastOperationContext(_operationClient.getOperationContext());
4) Finally you can get the Response Header from stub
OperationContext oprCtxt =
stub._getServiceClient().getLastOperationContext();
MessageContext inMsgContext =
oprCtxt.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
SOAPHeader header = inMsgContext.getEnvelope().getHeader();
return
Header_T.Factory.parse(header.getFirstElement().getXMLStreamReaderWithoutCaching());
Not sure if there is any easier way but finally this worked for me.
Let me know if you need more help with this.
Kamal Kang
-----Original Message-----
From: José Antonio Sánchez [mailto:[EMAIL PROTECTED]
Sent: Thursday, April 19, 2007 3:56 PM
To: [email protected]
Subject: Re: Apache Axis 2: how to get header? Options
AFAIK you have to modify the stub code and get headers from there. In
Axis2 1.2 there is an operation in the generated stub to get the last
operation context (and so the envelope object) but it didn't work for
me.
On 4/19/07, craig wickesser <[EMAIL PROTECTED]> wrote:
> anyone???
>
>
> On 4/18/07, craig wickesser <[EMAIL PROTECTED]> wrote:
> > Hi...I have a client which I am using to access a web service The
> > code I have is...
> >
> >
> > MyStub stub = new MyStub();
> > HelloWorldDocument reqDoc =
> HellWorldDocument.Factory.newInstance();
> > reqDoc.setName("bob");
> >
> >
> > HelloWorldResponseDocumnet resp = stub.SayHello(reqDoc);
> >
> >
> > The SOAP XML response is in the following form...
> >
> >
> > <soap12:Envelope ....>
> > <soap12:Header>
> > <ErrorResponse ....>
> > </ErrorResponse>
> > <UserInfo ...>
> > <Id>string</Id>
> > <DOB>string</DOB>
> > </UserInfo>
> > </soap12:Header>
> > <soap12:Body>
> > <HelloWorldResponse ....>
> > .....
> > </HelloWorldResponse>
> > </soap12:Body>
> > </soap12:Envelope>
> >
> >
> > My issue is I need to get stuff from the UserInfo header....how can I
> > get that? Currently all I can get is the HelloWorldResponse from the
> > "body".
> >
> > Thanks!
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
>
--
Saludos.
José Antonio Sánchez
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
============================================================
The information contained in this message may be privileged
and confidential and protected from disclosure. If the reader
of this message is not the intended recipient, or an employee
or agent responsible for delivering this message to the
intended recipient, you are hereby notified that any reproduction,
dissemination or distribution of this communication is strictly
prohibited. If you have received this communication in error,
please notify us immediately by replying to the message and
deleting it from your computer. Thank you. Tellabs
============================================================
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
Davanum Srinivas :: http://wso2.org/ :: Oxygen for Web Services Developers
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]