public static void GetValue(string baseUrl, string authTokenFilePath, AuthenticationHeaderValue ahv) { try { string authToken = TokenTools.GetAuthToken(authTokenFilePath); HttpClient client = new HttpClient(); client.DefaultRequestHeaders.Authorization = ahv; client.BaseAddress = new Uri(baseUrl); client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/vnd.github.v3+json")); client.DefaultRequestHeaders.Add("AuthToken", authToken); HttpResponseMessage response = client.GetAsync("api/values/1").Result; string result = response.Content.ReadAsStringAsync().Result; var statusCode = response.StatusCode; if (statusCode == HttpStatusCode.OK) { if (response.IsSuccessStatusCode) { // print results Console.WriteLine($"city: {result}"); } else { // error Console.WriteLine($"status code:{statusCode}"); } } else { Console.WriteLine($"The Web Service {statusCode}"); return; } } catch (ApplicationException ex) { Console.WriteLine("ApplicationException"); Console.WriteLine(ex); } catch (UnsupportedMediaTypeException ex) { Console.WriteLine("UnsupportedMediaType"); Console.WriteLine(ex); } catch (HttpRequestException ex) { Console.WriteLine("HttpRequestException"); Console.WriteLine(ex); } catch (AggregateException ex) { Console.WriteLine("AggregateException"); Console.WriteLine(ex); } }
public static string RefreshAuthToken(string baseUrl, AuthenticationHeaderValue ahv, string authTokenFilePath) { string curAuthToken = TokenTools.GetAuthToken(authTokenFilePath); var fs = new FileStream(authTokenFilePath, FileMode.Open); if (!fs.CanWrite) { throw new ApplicationException("The AuthToken file <" + authTokenFilePath + "> is not writable"); } fs.Close(); var client = new HttpClient(); client.DefaultRequestHeaders.Authorization = ahv; client.BaseAddress = new Uri(baseUrl); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/vnd.github.v3+json")); client.DefaultRequestHeaders.Add("AuthToken", curAuthToken); try { HttpResponseMessage response = client.PostAsync("services/NWMSApiKeyRefreshService", null).Result; string result = response.Content.ReadAsStringAsync().Result; TokenRefreshResponse res = new TokenRefreshResponse(); res = Newtonsoft.Json.JsonConvert.DeserializeObject <TokenRefreshResponse>(result); if (response.IsSuccessStatusCode) { StreamWriter authFile = new StreamWriter(authTokenFilePath); authFile.Write(res.token); authFile.Close(); return(res.token); } else { throw new ApplicationException("An error occured when refreshing AuthToken"); } } catch (UnsupportedMediaTypeException ex) { Console.WriteLine("UnsupportedMediaType"); Console.WriteLine(ex); throw new ApplicationException("An error occured when refreshing AuthToken"); } catch (HttpRequestException ex) { Console.WriteLine("HttpRequestException"); Console.WriteLine(ex); throw new ApplicationException("An error occured when refreshing AuthToken"); } }
public static void Public_NWM_SReceiptPermanent(string baseUrl, AuthenticationHeaderValue ahv, string authTokenFilePath, InputParams inputParams) { try { string authToken = TokenTools.GetAuthToken(authTokenFilePath); HttpClient client = new HttpClient(); client.DefaultRequestHeaders.Authorization = ahv; client.BaseAddress = new Uri(baseUrl); client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/vnd.github.v3+json")); client.DefaultRequestHeaders.Add("AuthToken", authToken); HttpResponseMessage response = client.PostAsJsonAsync("services/PublicNWMSReceiptPermanent", inputParams).Result; string result = response.Content.ReadAsStringAsync().Result; var statusCode = response.StatusCode; if (statusCode == HttpStatusCode.OK) { OutputParams output = JsonConvert.DeserializeObject <OutputParams>(result); string error_code = output.error_code; string error_message = output.error_message; output = response.Content.ReadAsAsync <OutputParams>().Result; if (response.IsSuccessStatusCode) { // print results Console.WriteLine($"city: {output.city}"); Console.WriteLine($"province: {output.province}"); Console.WriteLine($"township: {output.township}"); Console.WriteLine($"contractor_name: {output.contractor_name}"); Console.WriteLine($"contractor_national_id: {output.contractor_national_id}"); Console.WriteLine($"create_date: {output.create_date}"); Console.WriteLine($"creator: {output.creator}"); Console.WriteLine($"warehouse_id: {output.warehouse_id}"); Console.WriteLine($"id: {output.id}"); Console.WriteLine($"owner_name: {output.owner_name}"); Console.WriteLine($"postal_code: {output.postal_code}"); Console.WriteLine($"receipt items:"); output.receipt_items.ForEach(delegate(ReceiptItemResponse rcp_item_resp) { Console.WriteLine($"\tid: {rcp_item_resp.id}"); Console.WriteLine($"\tgood_id: {rcp_item_resp.good_id}"); Console.WriteLine($"\tgood_desc: {rcp_item_resp.good_desc}"); Console.WriteLine(""); }); } else { // error Console.WriteLine($"status code:{statusCode}"); Console.WriteLine($"error_code: {output.error_code}"); Console.WriteLine($"error_message: {output.error_message}"); Console.WriteLine($"failed_condition: {output.failed_condition}"); Console.WriteLine($"failed_item: {output.failed_item}"); Console.WriteLine($"error_detail: {output.error_detail}"); } } else { Console.WriteLine($"The Web Service {statusCode}"); return; } } catch (ApplicationException ex) { Console.WriteLine("ApplicationException"); Console.WriteLine(ex); } catch (UnsupportedMediaTypeException ex) { Console.WriteLine("UnsupportedMediaType"); Console.WriteLine(ex); } catch (HttpRequestException ex) { Console.WriteLine("HttpRequestException"); Console.WriteLine(ex); } catch (AggregateException ex) { Console.WriteLine("AggregateException"); Console.WriteLine(ex); } }