" > <!-- 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 structure (struct). A SOAP request struct has the same name and type as the method/procedure being invoked. It should be noted that XML-RPC and SOAP are not the same and have a separate specification associ- ated with use of RPC in XML. The XML-RPC has specifications for basic request- response RPC in XML with HTTP as transport, while SOAP is a more enhanced version of XML-RPC having user-defined data types, the ability to specify the destination node, message specific processing, and other features that are absent in XML-RPC. When a SOAP message is receiv