The protected members of System.Xml.Serialization.XmlSerializationReader are intended for use only by derived classes that are used internally within the .NET Framework XML serialization infrastructure.
During initialization, the .NET Framework XML serialization infrastructure dynamically generates and compiles a temporary class for deserialization that is derived from System.Xml.Serialization.XmlSerializationReader. During this process, the .NET Framework generates read methods that implement the System.Xml.Serialization.XmlSerializationReadCallback delegate. It does so for certain mappings between .NET Framework types and XML data types that are serialized through SOAP-encoded XML and are not root elements. Next, as necessary, a read method is called during deserialization.
The abstract XmlSerializationReader.InitCallbacks method is where the temporary derived class creates an instance of and initializes read callback methods.
You should not directly create an instance of System.Xml.Serialization.XmlSerializationReadCallback.
SOAP encoding is described in Section 5 of the SOAP 1.1 specification.