axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Detelin Yordanov" <detelinyorda...@gmail.com>
Subject Re: How to add a SOAP header in an axis2 custom client-side handler?
Date Thu, 14 Aug 2008 13:20:35 GMT
Hi,
 Should be as simple as:

import org.apache.axiom.soap.*;

SOAPHeader header = context.getEnvelope().getHeader(); //context is Axis2
MessageContext
SOAPHeaderBlock headerBlock = header.addHeaderBlock(HEADER_NAME, HEADER_NS);

Now you can add whatever you want to the headerBlock, it is just an ordinary
Axiom OMElement, e.g.
headerBlock.setText("my value");

See javadocs:
http://ws.apache.org/commons/axiom/apidocs/org/apache/axiom/soap/SOAPHeaderBlock.html

Regards,
    Detelin

On Thu, Aug 14, 2008 at 3:48 PM, Franklin, Allen <Allen.Franklin@avocent.com
> wrote:

>  I don't have a services.xml, and I don't have the manageTransportSession parameter
> in my axis2.xml.
>
> But I am just running an axis2 client and my client seems to run ok without
> them.
>
>
>
> I am stuck trying to figure out how to manipulate the SOAP header in my
> client-side handler.
>
> The semantics for manipulating the SOAP header has changed between axis1
> and axis2.
>
> I am having trouble finding documentation and sample code that manipulates
> the
>
> SOAP header obtained from a MessageContext.
>
>
>
> *From:* Martin Gainty [mailto:mgainty@hotmail.com]
> *Sent:* Wednesday, August 13, 2008 8:43 PM
> *To:* axis-user@ws.apache.org
> *Subject:* RE: How to add a SOAP header in an axis2 custom client-side
> handler?
>
>
>
> didn't see your config params
> axis2.xml
>     <parameter name="manageTransportSession">?</parameter>
>
> services.xml
>   <service name="MultiplyService" scope="?">
>
> Martin
> ______________________________________________
> Disclaimer and confidentiality note
> Everything in this e-mail and any attachments relates to the official
> business of Sender. This transmission is of a confidential nature and Sender
> does not endorse distribution to any party other than intended recipient.
> Sender does not necessarily endorse content contained within this
> transmission.
>
>  ------------------------------
>
> Subject: How to add a SOAP header in an axis2 custom client-side handler?
> Date: Wed, 13 Aug 2008 18:26:36 -0400
> From: Allen.Franklin@avocent.com
> To: axis-user@ws.apache.org
>
> I am trying to figure out how to add a SOAP header in my client-side
> handler.
>
> I have the following axis1 code, but need an axis2 equivalent:
>
>
>
>    /***********************************************************************
>
>     * Processes the header of a request message.  This method will add the
>
>     * session header to the outgoing request.
>
>     *
>
>     * @param context the message context associated with the request
>
>     **********************************************************************/
>
>    private void invokeRequest( MessageContext context ) throws AxisFault
>
>    {
>
>       Message msg = context.getRequestMessage();
>
>       if (msg == null)
>
>          throw new AxisFault( "Message not in context." );
>
>
>
>       SOAPEnvelope env = msg.getSOAPEnvelope();
>
>
>
>       SessionHeaderType sessionHeader =
> WebServiceClientHelper.getThreadSessionHeader( );
>
>
>
>       SOAPHeaderElement header = new SOAPHeaderElement(HEADER_NS,
>
>                                                        HEADER_NAME,
>
>                                                        sessionHeader);
>
>       env.addHeader(header);
>
>    }
>
>
>
> The SessionHeaderType class was generated from a wsdl and contains session
> credentials.
>
>
>
> Any pointers to appropriate documentation on how to manipulate headers, or
> sample code, would be appreciated.
>
>
>  ------------------------------
>
> Your PC, mobile phone, and online services work together like never before.
> See how Windows(R) fits your life<http://clk.atdmt.com/MRT/go/108587394/direct/01/>
>

Mime
View raw message