예제 #1
0
        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");
            }
        }
예제 #3
0
        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);
            }
        }