7. The computer program product of claim 6 , wherein the typed properties are URI string values.
6. In a distributed messaging system, a computer program product comprising: one or more computer storage media, wherein the computer storage media excludes signals, having stored thereon computer executable instructions that, when executed by a processor, cause the distributed messaging system to perform steps for simultaneously exposing a message infoset, comprising a SOAP message, 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 a Typed API, through which the message infoset is accessed as a typed data object, and read using an XML API, through which the message infoset is accessed as XML data, in order to efficiently process values of the message infoset, the steps comprising: creating an XML message infoset that includes 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 written to the XML header by: directly writing the value using the Typed API as if the XML header were an object in an implementation of the Common Language Infrastructure, wherein the value of each XML header is written using the Typed API; and retrieving the values using the XML API, which reads the XML headers 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.