private Readable SendRequest(Writeable payload) { // build the request header PlayerRqst request = CreateHeader(payload); // build request data MemoryStream requestStream = new MemoryStream(); XmlDataWriter requestWriter = new XmlDataWriter(requestStream); requestWriter.WriteObject(request.GetType().Name, request); requestWriter.Flush(); if (Logger.Enabled) { Logger.LogInfo(this, "SendRequest", String.Format("Request: {0}", Encoding.UTF8.GetString(requestStream.ToArray()))); } // send request MemoryStream responseStream = SendRequestViaHttp(requestStream); if (Logger.Enabled) { Logger.LogInfo(this, "SendRequest", String.Format("Response: {0}", Encoding.UTF8.GetString(responseStream.ToArray()))); } // read response XmlDataReader responseReader = new XmlDataReader(responseStream); PlayerResp response = (PlayerResp)responseReader.ReadObject("PlayerResp", PlayerResp.CtorDataReader); // parse response header return(ParseHeader(response)); }
private PlayerRqst CreateHeader(Writeable payload) { PlayerRqst request; RequestData requestData; request = PlayerRqst.NewInstance(); request.Version = "1.0.0"; //TODO: request.SessionData = fSessionData.ToString(); requestData = RequestData.NewInstance(payload); //requestData.Request = payload; request.RequestData = requestData; return(request); }