1. A system, comprising: a client comprising a client Web services stack that supports both a markup language protocol and a binary encoding protocol, wherein the markup language protocol is based on XML (eXtensible Markup Language); and a server comprising a server Web services stack that supports both the markup language protocol and the binary encoding protocol, wherein the server Web services stack is configured to: communicate with the client Web services stack according to the markup language protocol; and dynamically switch to communicate with the client Web services stack according to the binary encoding protocol, wherein communication according to the binary encoding protocol comprises mapping from an XML schema to a binary encoding schema and generating a binary encoding from the binary encoding schema; wherein the client Web services stack and the server Web services stack each support the markup language protocol and the binary encoding protocol with a single API (application programming interface).
9. The system as recited in claim 1 , wherein, to communicate with the client Web services stack according to the binary encoding protocol, the server Web services stack is further configured to serialize the markup language protocol to generate binary encoding protocol messages according to a self-describing binary format that preserves the markup language protocol information set.