1. A method, performed in a distributed messaging system, of simultaneously exposing a message infoset as both an XML view, which allows the message infoset to be accessed as XML data, and a Typed view, which allows the message infoset to be accessed as a typed data object, such that at least a portion of the message infoset can be written using an XML API, through which the message infoset is accessed as a typed data object, and read using a Typed API, through which the message infoset is accessed as XML data, in order to efficiently process values of the message infoset, the method comprising: receiving an XML message infoset comprising a SOAP object written using the XML API, the message infoset including a common set of XML headers that each enclose a value, the XML headers being exposed as both XML and typed properties such that the value enclosed by each XML header is simultaneously exposed as both an XML view and a Typed view such that at least a portion of the XML message infoset can be accessed using the XML API and the Typed API in order to efficiently process values of the message infoset wherein the XML message infoset is accessible by: creating a common language infrastructure object, using the XML API, by: (1) identifying an index to the header using an XML name encapsulating the value of the header; (2) retrieving an XML dictionary reader specific to the header that includes a read operation; and (3) passing the header to the read operation for creating a typed representation of the header; and by: directly accessing the value using the Typed API as if the value were the value of a typed property of a Common Language Infrastructure object without first identifying an index of the XML header or creating an XMLReader for the XML header; and retrieving the values using the Typed API, which can access the typed properties without regard to how the message infoset is encoded using XML.