#retrieve token var userName = "JEMS_Username"; var password = "JEMS_Password"; var formContent = new FormUrlEncodedContent(new[] { new KeyValuePair("Name", userName), new KeyValuePair("Password", password) }); string url = "https://pen-prd.jemsms.corp.jabil.org/api-external-api/api/user/signin"; var myHttpClient = new HttpClient(); var response = await myHttpClient.PostAsync(url, formContent); var stringToken = await response.Content.ReadAsStringAsync(); #call Ok to test string path = "Path=/;"; string domain = "Domain=." + "pen-prd.jemsms.corp.jabil.org" + ";"; string expires = "Expires=" + DateTimeOffset.Now.AddMonths(1).ToString("ddd, dd MMM yyy HH':'mm':'ss 'GMT'"); var response = await myHttpClient.PostAsync(url, formContent); var stringToken = await response.Content.ReadAsStringAsync(); string cookie = stringToken + path + domain + expires; using (var httpClient = new HttpClient()) { ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | (SecurityProtocolType)3072; var baseAddress = new Uri("https://" + "pen-prd.jemsms.corp.jabil.org" + "/"); using (var handler = new HttpClientHandler { UseCookies = false }) using (var client = new HttpClient(handler) { BaseAddress = baseAddress }) { HttpRequestMessage message1; if (custName.IsNullOrEmpty()) { return null; } message1 = new HttpRequestMessage(HttpMethod.Get, "api-external-api/api/Wips/okToStart?serialNumber=" + serialNumber.Trim().ToString() + "&resourceName=" + resourceName.Trim().ToString() + "&customer=" + custName + "&assembly=" + assembly.Trim().ToString() + "&routeStepName=" + routeStepName.Trim().ToString()); message1.Headers.Add("Cookie", cookie); var result1 = await client.SendAsync(message1); string responseString = result1.Content.ReadAsStringAsync().Result; DataTable dtOkToStart = new DataTable(); dtOkToStart.Columns.Add("statusCode", typeof(System.String)); dtOkToStart.Columns.Add("message", typeof(System.String)); var ODataJSON = JsonConvert.DeserializeObject("{Results:" + responseString + '}'); XmlNode xml = JsonConvert.DeserializeXmlNode(ODataJSON.ToString(), "Results"); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(xml.InnerXml.ToString()); XmlNodeList elemList = xmlDoc.GetElementsByTagName("Results"); for (int i = 0; i < elemList.Count; i++) { string result = "" + elemList[i].InnerXml + ""; XmlDocument xmlDocResult = new XmlDocument(); xmlDocResult.LoadXml(result); XmlNode newNodeResult = xmlDocResult.DocumentElement; XmlReader xmlReaderResult = new XmlNodeReader(newNodeResult); DataSet dsResult = new DataSet(); string wipId = string.Empty; dsResult.ReadXml(xmlReaderResult); if (dsResult.Tables.Count > 0) { DataTable dtResult = dsResult.Tables[0]; DataColumnCollection columns = dtResult.Columns; if (columns.Contains("StatusCode") && columns.Contains("Message")) { //Pass if (dtResult.Rows[0]["Message"].ToString().ToUpper() == "OK") { DataRow drOkToStart = dtOkToStart.NewRow(); drOkToStart["statusCode"] = "PASS"; drOkToStart["message"] = dtResult.Rows[0]["Message"].ToString(); dtOkToStart.Rows.Add(drOkToStart); return dtOkToStart; } } if (columns.Contains("ErrorMessage")) { //Fail DataRow drOkToStart = dtOkToStart.NewRow(); drOkToStart["statusCode"] = "FAIL"; drOkToStart["message"] = dtResult.Rows[0]["ErrorMessage"].ToString(); dtOkToStart.Rows.Add(drOkToStart); return dtOkToStart; } } } return dtOkToStart; } }