Невозможно POST / GET для SalesForce REST с C# WEBAPI - PullRequest
0 голосов
/ 31 января 2020

Я использую простой HttpClient для POST или GET из Salesfore REST. Я использую токен аутентификации Salesforce для отправки / получения JSON.

Aggregate Error while PostingAsync

. Net Framework 4.5 и 4.6 выдает ошибку, показанную выше. Тот же код прекрасно работает в. Net Core API.

Я также попробовал SecurityProtocol T1c в моем. net 4.6 решении. Ничего не сработало. В Core я ничего не делал, но тот же код работает отлично.

Пожалуйста, найдите код PostAsyn c. Может кто-нибудь, пожалуйста, помогите.

Я проверил конечную точку Salesforce в Workbench, и я могу ПОСТАВИТЬ JSON и получить результаты.

public static async Task<string> PostAsync<TRequest, TResponse>(string url, dynamic requestBodyObject, string method, string accesstoken)
        {
            try
            {

                //client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                dynamic result = new object();
                switch (method)
                {
                    case "POST":
                        //result = await client.PostAsync(url, contentPost);
                        using (HttpClient client = new HttpClient())
                        {
                            client.BaseAddress = new Uri(url);
                            HttpContent contentPost = new StringContent(JsonConvert.SerializeObject(requestBodyObject), Encoding.UTF8, "application/json");
                            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Authorization", "Bearer " + accesstoken);
                            using (HttpResponseMessage response = await client.PostAsync(string.Format(url), contentPost).ContinueWith((postTask) => postTask.Result.EnsureSuccessStatusCode()))
                            {

                                if (response.IsSuccessStatusCode)
                                {
                                    using (HttpContent content = response.Content)
                                    {
                                        string myContent = await content.ReadAsStringAsync();
                                        HttpContentHeaders headers = content.Headers;
                                        JObject jobj = JObject.Parse(myContent);
                                        JArray arr = (JArray)jobj["searchRecords"];
                                        //IList<Account> accounts = arr.ToObject<List<Account>>();
                                        result = JsonConvert.SerializeObject(arr);
                                    }
                                }
                                else { Console.WriteLine("This is doing my head in!!!!!!!!!!"); }
                            }
                        }
                        break;
                    case "GET":

                        break;
                }




                return result;
            }
            catch (HttpRequestException ex)
            {

                throw;
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...