axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ricky Ho <r...@cisco.com>
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,
Ricky

At 06:40 PM 9/5/2002 -0500, Allegar Robert wrote:
>Ricky,
>         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",
>"URI"));
>
>
>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
>System.out:
>                         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()
>method.
>
>         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.
>
>Regards,
>         Rob
>
>
>-----Original Message-----
>From: Ricky Ho [mailto:riho@cisco.com]
>Sent: Thursday, September 05, 2002 5:01 PM
>To: axis-user@xml.apache.org
>Subject: RE: Handlers and SOAP message re-writing
>
>
>Albert,
>
>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 =
>msgContext.getRequestMessage().getSOAPEnvelope();
>                 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,
>Ricky
>
>
>-----Original Message-----
>From: Allegar Robert [mailto:allegar_robert@bah.com]
>Sent: Thursday, September 05, 2002 1:14 PM
>To: axis-user@xml.apache.org
>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
>thrown.
>
>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?
>
>Regards,
>         Rob


Mime
View raw message