HttpClient использует Odata не работает - PullRequest
0 голосов
/ 28 июня 2018

Я использую приведенный ниже код для доступа к SAP Odata WebService:

     string strUrl = "https://...../HandlingUnitSet?$format=json";

        var credentials = new NetworkCredential("user", "usr123");
        var handler = new HttpClientHandler { Credentials = credentials };
        var client = new System.Net.Http.HttpClient(handler);
        client.DefaultRequestHeaders.Accept.Clear();            
        client.DefaultRequestHeaders.Add("Accept", "application/json");

        var response = await client.GetAsync(strUrl);

        string status = response.StatusCode.ToString();
        string header = response.Headers.ToString();
        string cont = response.Content.ToString();

        string contactsJson = response.Content.ReadAsStringAsync().Result;

             UoUnit ObjUnitList = new UoUnit();
            ObjUnitList = JsonConvert.DeserializeObject<UoUnit>(contactsJson);

Проблема: я получил следующее сообщение об ошибке

URL должен вернуть Json Data, но я не получил его. Эта ошибка обнаружена в строке DeserializeObject

При анализе значения обнаружен неожиданный символ: <. Путь '', строка 0, позиция 0. в Newtonsoft.Json.JsonTextReader.ParseValue () </p>

{Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: <. Path '', line 0, position 0.
  at Newtonsoft.Json.JsonTextReader.ParseValue () [0x002b3] in <d32db49e5e3440729da31845c03ddc3a>:0 
  at Newtonsoft.Json.JsonTextReader.Read () [0x0004c] in <d32db49e5e3440729da31845c03ddc3a>:0 
  at Newtonsoft.Json.JsonReader.ReadAndMoveToContent () [0x00000] in <d32db49e5e3440729da31845c03ddc3a>:0 
  at Newtonsoft.Json.JsonReader.ReadForType (Newtonsoft.Json.Serialization.JsonContract contract, System.Boolean hasConverter) [0x0004a] in <d32db49e5e3440729da31845c03ddc3a>:0 
  at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType, System.Boolean checkAdditionalContent) [0x000db] in <d32db49e5e3440729da31845c03ddc3a>:0 
  at Newtonsoft.Json.JsonSerializer.DeserializeInternal (Newtonsoft.Json.JsonReader reader, System.Type objectType) [0x00054] in <d32db49e5e3440729da31845c03ddc3a>:0 
  at Newtonsoft.Json.JsonSerializer.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType) [0x00000] in <d32db49e5e3440729da31845c03ddc3a>:0 
  at Newtonsoft.Json.JsonConvert.DeserializeObject (System.String value, System.Type type, Newtonsoft.Json.JsonSerializerSettings settings) [0x0002d] in <d32db49e5e3440729da31845c03ddc3a>:0 
  at Newtonsoft.Json.JsonConvert.DeserializeObject[T] (System.String value, Newtonsoft.Json.JsonSerializerSettings settings) [0x00000] in <d32db49e5e3440729da31845c03ddc3a>:0 
  at Newtonsoft.Json.JsonConvert.DeserializeObject[T] (System.String value) [0x00000] in <d32db49e5e3440729da31845c03ddc3a>:0 
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...