When a processor generates a MustUnderstand fault, it SHOULD provide, in the generated fault message, header entries in the following format which detail the qualified names (QNames, per the XML Schema Datatypes specification) of the particular header(s) which were not understood:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/envelope"> <SOAP-ENV:Header> <SOAP-ENV:MisunderstoodHeader qname="ns1:header1" xmlns:ns1="urn:someNS"/> <SOAP-ENV:MisunderstoodHeader qname="ns2:header2" xmlns:ns2="http://some.other.com"/> </SOAP-ENV:Header> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>MustUnderstand</faultcode> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>In other words, an unordered list of one or more header entries, each of which is named "MisunderstoodHeader" in the SOAP-ENV namespace (as defined in sec 1.2). Each such entry has an attribute "qname" which has as it's value the QName of a header which the faulting node failed to understand. Note that there is no guarantee that each MustUnderstand error contains ALL misunderstood header QNames. Some processors may stop processing and send a fault after the first header which causes an error, while others might send a combined message informing the fault recipient of all the MustUnderstand problems at once.