axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ricky Ho <>
Subject RE: Handlers and SOAP message re-writing
Date Thu, 05 Sep 2002 23:05:14 GMT
I'm using the Beta 2 version, and it works fine.

Have you print out the request message right before your handler returns 
and see if it has been modified ?

Best regards,

At 06:40 PM 9/5/2002 -0500, Allegar Robert wrote:
>         I'd be curious to see what version you're running, then. I 
> modified your
>code so it would compile and tried it in my handler. I think the call you
>wanted was envelope.addChildElement(). There is no envelope.addHeader()
>method which takes a SOAPHeaderElement. Your modified code looks like this :
>                 SOAPEnvelope envelope = 
> context.getRequestMessage().getSOAPEnvelope();
>                 SOAPHeader header = envelope.getHeader();
>                 header.addHeaderElement(envelope.createName("localName", 
> "prefix",
>When I tested it the request that came into my handler is the same request
>that leaves it. Nothing is changed. I have two handlers in my architecture
>before the webservice is called. One contains the code you gave me, and
>another one deployed second in the chain merely logs the soap request to
>                         SOAPMessage message = context.getMessage();
>                         message.writeTo(System.out);
>         I am 100% sure that the first handler containing your code is 
> deployed and
>is being called because there are debugging steps throughout my invoke()
>         I've been trying various permutations of this same code for the 
> past few
>days now. It just doesn't seem possible to be able to change request (either
>header or body) in one handler and then have the change reflected either in
>the rest of the handler chain or in the called web service.
>         Rob
>-----Original Message-----
>From: Ricky Ho []
>Sent: Thursday, September 05, 2002 5:01 PM
>Subject: RE: Handlers and SOAP message re-writing
>Just curious why you add a child element under the SOAP envelope, because it
>should only have "header" and "body".
>Below is some of my code to add some header information to the request
>message.  And it works fine.
>                 SOAPEnvelope envelope =
>                 System.out.println("Request message is : " + envelope);
>                 envelope.addHeader(new SOAPHeaderElement("MyNameSpace",
>"headerXYZ", "Value of HeaderXYZ"));
>Also check your handler is properly installed and has been executed.
>Best regards,
>-----Original Message-----
>From: Allegar Robert []
>Sent: Thursday, September 05, 2002 1:14 PM
>Subject: Handlers and SOAP message re-writing
>Is the SOAP message considered read-only when it's being handled by the
>handlers? I'm trying to use a value in the header I receive to look up a
>value to place in the body. I've extracted out the essence of this in the
>following lines of code:
>         Message requestMessage = context.getRequestMessage();
>         SOAPEnvelope envelope = requestMessage.getSOAPEnvelope();
>         SOAPElement element = envelope.addChildElement("testElement");
>         element.addTextNode("testElementNode");
>This code exists in a handler. Unfortunately, the SOAP message that's
>leaving the handler does not contain the new element I've just added -- it
>almost appears the message is read-only, though no faults or exceptions are
>The thing that troubles me is that this code works as it should under
>Weblogic 7.0's webservice impl. Am I doing something wrong, calling the
>wrong APIs or is this a bug?
>         Rob

View raw message