ue, then destination node must process the header block. If there is an issue during the processing or the processing of the header block fails, then a fault event has to be generated. If the value of "mustUnderstand" is XML-Based Protocols false then the destination node may or may not process the header block. If this attribute is not present in the header block attribute then it is equiva- lent to setting the attribute to false. As discussed earlier the header block is not mandatory, but there could be critical information at times in the header specific for an application. In these scenarios, setting the attribute value as true will ensure that the header block is processed as required for the application. env:relay: Control of header blocks during a relay operation can be done with the "relay" attribute. Not all header blocks will be processed by intermediary nodes and default behavior is to remove the header before a relay operation. So unnecessary propagation of header blocks can be avoided and maintaining of specific headers can be done using the relay attribute. It is a feature that is newly introduced in SOAP 1.2. SOAP fault as defined with the tag <env:Fault> and can be used to carry error and status information. The fault information will contain the identifier or group to which the fault message belongs (tag: <faultcode>), the short description of the fault (tag: <faultstring>), the node or actor associated with the fault (tag: <faultac- tor>), and details on the fault that can help in debugging and fixing the fault (tag: <detail>). An example of a predefined SOAP fault code value is "VersionMismatch" corresponding to invalid namespace in the envelope. Namespace is an XML con- struct (xmlns) used for grouping of elements in a SOAP application. It can also be used for version controlling. Some of the namespaces that are defined for SOAP 1.2 include envelope, serialization, and upgrade. Example for using header attributes in SOAP message <env Envelope xmlns:env="http://www.w3.org/2003/05/soap- envelope