private void sendPDFFile(string strDocType) { RestClient client = null; RestRequest request = null; IRestResponse response = null; string strURL = "https://" + getHost() + "/APEX/Service/APEXPublicServer.svc/user/login"; // Password has to be hashed. // New convention uses a Salt value from the user record string strSalt = GetSalt(tbUserName.Text); string strPassword = tbPassword.Password.ToString(); string strHashedPassword = HashPassword(strPassword, strSalt); string strParms = "{\n\t\"user_name\" : \""; strParms += tbUserName.Text; strParms += "\",\n\t\"password\" : \""; strParms += strHashedPassword; strParms += "\"\n}"; client = new RestClient(strURL); request = new RestRequest(Method.POST); request.AddHeader("Cache-Control", "no-cache"); request.AddHeader("Content-Type", "application/json"); request.AddParameter("Login", strParms, ParameterType.RequestBody); response = client.Execute(request); if (response.IsSuccessful) // Successful login and token has been received { var jsonResult1 = JsonConvert.DeserializeObject<dynamic>(response.Content); string token = jsonResult1.access_token; strURL = null; client = null; request = null; response = null; string strPDFFile = null; if (strDocType == "MOU") { strPDFFile = tbMOUFile.Text; } else { strPDFFile = tbCOIFile.Text; } byte[] bytePDF = File.ReadAllBytes(strPDFFile); strURL = "https://" + getHost() + "/APEX/Service/APEXPublicServer.svc/postDocument"; strURL = strURL + "?" + "documentType=" + strDocType; strURL = strURL + "&" + "requestID=" + tbRequestID.Text; client = new RestClient(strURL); request = new RestRequest(Method.POST); request.AddHeader("Cache-Control", "no-cache"); request.AddHeader("access_token", token); request.AddHeader("content-type", "application/pdf"); request.AddParameter("undefined", bytePDF, ParameterType.RequestBody); response = client.Execute(request); if (response.IsSuccessful) { var jsonResult2 = JsonConvert.DeserializeObject<dynamic>(response.Content); string strResult = jsonResult2.result; } } return; }