private HttpResponseMessage ProcessCommand() { var requestHandler = RequestHandlerFactory.GetHandler(this.Command); if (requestHandler != null) { requestHandler.Initialize(this.Device, this.RequestContent); var responseMessage = new HttpResponseMessage(HttpStatusCode.OK); var responseObj = requestHandler.Handle(); var responseXml = responseObj.GetAsXML(); var encoder = new ASWBXML(); encoder.LoadXml(responseXml); var wbxmlContent = encoder.GetBytes(); responseMessage.Content = new ByteArrayContent(wbxmlContent); responseMessage.Content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.ms-sync.wbxml"); return(responseMessage); } else { //TODO: Return appropriate ResponseMessage //throw new InvalidCommandException(string.Format("Command {0} is not supported", this.Command.ToString())); return(new HttpResponseMessage(HttpStatusCode.BadRequest)); } //TODO: Resturn Appropriate Response return(new HttpResponseMessage(HttpStatusCode.OK)); }