Hello,

I want to remove the "soapenv:musUnderstand="0" from my SOAP header:

<soapenv:Header>
<ns2:transaction xsi:type="ns1:transaction" soapenv:mustUnderstand="0" xmlns:ns1="http://optel.test.de/schemas/interface/";
xmlns:ns2="http://optel.test.de/interface";>
<value xsi:type="xsd:string">22051</value>
</ns2:transaction>
</soapenv:Header>


I looked for threads regarding my question, but I didnīt find an answer.

Iīm creating a Header. The mustUnderstand attribute is added autimatically. I try to remove it:


// create a new transaction header header = new SOAPHeaderElement( HeaderHandler.HEADER_NS, HeaderHandler.HEADER_RESNAME, null); SOAPFactory factory = SOAPFactory.newInstance();

// header.setMustUnderstand(false);
Name attrName = factory.createName(Constants.ATTR_MUST_UNDERSTAND, Constants.NS_PREFIX_SOAP_ENV, "");
header.removeAttribute(attrName);


           MessageElement child =
               new MessageElement("", "value", (Object) transactionId);

           header.addChildElement(child);
           ArrayList ns = new ArrayList();
           ns.add(
               new Mapping(
                   "http:///optel.test.de/schemas/interface";,
                   "ns1"));
           ns.add(new Mapping("http://optel.test.de/interface";, "ns2"));
           header.setNSMappings(ns);
           header.setAttribute(
               "http://www.w3.org/2001/XMLSchema-instance";,
               "type",
               "ns1:transaction");
           header.setType(
               new QName(
                   "http://optel.test.de/schemas/interface/";,
                   "transaction"));

Regards Wolfram




Reply via email to