Hi,

I need to add an element to my SOAP header in a client side handler.  In the invoke() method of my handler i can extract the SOAPEnvelope and SOAPHeader.  I can create a new SOAPHeaderElement and add that to the soap header.  However, I do not want the element to have the mustUnderstand or actor attributes associated with it.  Setting the actor to the empty string removes the latter for me, but I can't get rid of the first.  
I tried creating a MessageElement object instead of a SOAPHeaderElement but whenever I attempt to add it to my header at runtime I get the message
        a SOAPHeader may only have SOAPHeaderElement as its immediate children

Can somebody please help me out with this please?  The code (using the MessageElement) is as follows:
        MessageElement she = new MessageElement(
                new QName("http://some.service.url/schemas/service/", "Operation"), "Form11/File");
                               
        Message message = messageContext.getRequestMessage();

        SOAPEnvelope envelope = message.getSOAPEnvelope();
        MessageElement headerElement = (MessageElement)envelope.getHeader();
        headerElement.addChild(she);

It appears the headerElement.addChild invocation is what is causing my error message above.  The reason I am casting and using MessageElement is to try and avoid the placing of the mustUnderstand and actor attributes in my generated element.

Any help much appreciated.
Thanks,
Aoife

Reply via email to