Плохой запрос при обновлении API в HttpWebRequest - PullRequest
0 голосов
/ 10 мая 2018

Я использовал конечные точки Cin 7 для обновления заказа.Вот ссылка: Порядок обновления Cin7

, и тогда при вызове API у меня будет ошибка Bad Request.Вот код

public string UpdateData(string endpoint, Dispatched saleOrder)
        {
            string xmlStringResult = string.Empty;
            try
            {
                var req = (HttpWebRequest)WebRequest.Create(endpoint);
                req.Method = "PUT";
                req.ContentType = "application/json";
                req.Credentials = GetCredential(endpoint);

                var json = JsonConvert.SerializeObject(saleOrder);
                if (!String.IsNullOrEmpty(json))
                {
                    using (var ms = new MemoryStream())
                    {
                        using (var writer = new StreamWriter(req.GetRequestStream()))
                        {
                            writer.Write(json);
                            writer.Close();
                        }
                    }
                }

                using (var resp = (HttpWebResponse)req.GetResponse())
                {
                    return resp.StatusDescription + resp.StatusCode;
                }
            }
            catch (Exception ex)
            {
                AppendError(string.Format("UpdateData catch exception: {0}", ex.Message), LogType.System);
            }
            return xmlStringResult;
        }

Извлечение учетных данных

private CredentialCache GetCredential(string url)
        {
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
            var credentialCache = new CredentialCache();
            credentialCache.Add(new Uri(url), "Basic", new NetworkCredential(_cred.Username, _cred.Key));
            return credentialCache;
        }

Вот данные json для обновления

{"id":2631912,"dispatchedDate":"2018-05-10T11:49:41.6238207+08:00","trackingCode":"6J7010926112","reference":"255552"}

Пожалуйста, помогите и поблагодарите вас заранее.

...