ails 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" > <!-- Header with two blocks (BlockOne and BlockTwo) <env: Header> :BlockOne xmlns: B1= http://example.com env:role= http://example.com/Log env:mustUnderstand="true"> <!-- URI example.com is reserved for documentation <!- role is set to Logger SO the header is to be processed <!- To ensure header processing "mustUnderstand is set to "true" k/B1:BlockOne> <B2:BlockTwo xmlns:q= http://example.com env:role= :://www.w3.org/2003/05/soap-envelope/role/next env:relay = "true"> Fundamentals of EMS, NMS and OSS/BSS <!- - "mustUnderstand attribute takes value "false" here by default > </B2:BlockTwo> </env:Header> <!-- Sample Body with no contents --> <env Body > </env:Body> </env:Envelope> SOAP capabilities are not restricted to conventional XML document exchange between the sender and receiver nodes. SOAP can also be used for remote pro- cedure calls (RPC). The RPC is popular for message exchange in heterogeneous environment. To execute RPC with SOAP, the address of the destination node and procedure name with arguments is required. So for normal Web-based ser- vices involving simple message exchange, the conventional document-based tech- nique is used and when a specific behavior is expected to be performed that needs mapping to a procedure, then SOAP-based remote procedures are used. There are specific request and response rules that need to be followed when working with RPC with SOAP messaging. One of them is to ensure encoding of the RPC request and response in a str