public static CreateSequenceResponseInfo ReadMessage(MessageVersion messageVersion, ReliableMessagingVersion reliableMessagingVersion, Message message, MessageHeaders headers) { CreateSequenceResponseInfo info; if (message.IsEmpty) { string str = System.ServiceModel.SR.GetString("NonEmptyWsrmMessageIsEmpty", new object[] { WsrmIndex.GetCreateSequenceResponseActionString(reliableMessagingVersion) }); throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new XmlException(str)); } if (headers.RelatesTo == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new MessageHeaderException(System.ServiceModel.SR.GetString("MissingRelatesToOnWsrmResponseReason", new object[] { XD.WsrmFeb2005Dictionary.CreateSequenceResponse }), messageVersion.Addressing.Namespace, "RelatesTo", false)); } using (XmlDictionaryReader reader = message.GetReaderAtBodyContents()) { info = CreateSequenceResponse.Create(messageVersion.Addressing, reliableMessagingVersion, reader); message.ReadFromBodyContentsToEnd(reader); } info.RelatesTo = headers.RelatesTo; return(info); }