HttpClient.SendAsync — не удалось найти текст, связанный с этим кодом ошибки. '': найдены недопустимые символы ⇐ C#
-
Anonymous
HttpClient.SendAsync — не удалось найти текст, связанный с этим кодом ошибки. '': найдены недопустимые символы
HttpClient.SendAsync или PostAsync выдает ошибку ниже.
System.Net.Http.HttpRequestException: при отправке запроса произошла ошибка. ---> System.Exception: текст, связанный с этим кодом ошибки, не найден.
'': обнаружены недопустимые символы.
в System.Net.Http.HttpHandlerToFilter.SendAsync (запрос HttpRequestMessage, отмена CancellationToken)
в System.Net.Http.DiagnosticsHandler.SendAsync (запрос HttpRequestMessage, CancellationToken cancelToken)
в System.Net.Http.HttpClientHandler.SendAsync (запрос HttpRequestMessage, CancellationToken cancelToken)
--- Конец внутренней трассировки стека исключений ---
в System.Net.Http.HttpClientHandler.SendAsync (запрос HttpRequestMessage, CancellationToken cancelToken)
в System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task`1 sendTask, запрос HttpRequestMessage, CancellationTokenSource cts, логическое значение DisposeCts)
в TestApp.MainPage.PostRequest(String url, StringContent stringContent)
Вот код C#:
var адрес = новая AddressModel() { CommunicationId = "email@domain.com", ...... }; вар stringContent = новый StringContent(JsonConvert.SerializeObject(адрес), Encoding.UTF8, "application/json"); Клиент HttpClient = новый HttpClient(); client.DefaultRequestHeaders .Принимать .Add(new MediaTypeWithQualityHeaderValue("application/json"));//заголовок ACCEPT client.DefaultRequestHeaders.Add("Cookie", AuthCookie); client.DefaultRequestHeaders.Add("X-Requested-With", "X"); Запрос HttpRequestMessage = новый HttpRequestMessage (HttpMethod.Post, URL) { Content = заголовок stringContent//CONTENT-TYPE }; пытаться { // Ошибка на этой линии. responseMessage = ждут client.SendAsync(запрос); если (responseMessage.IsSuccessStatusCode) { вар responseContent = ждут ответаMessage.Content.ReadAsStringAsync(); } } поймать (Исключение ex) { // } Фактически, вызов Post прошел успешно, и код ответа был создан с номером 201, если мы наблюдаем это в fiddler. но ответ Json, который возвращает почтовый вызов, вызывает ошибку, и, следовательно, PostAsync не может подготовить объект HttpResponseMessage.
Я не вижу никаких проблем с вставленным ниже ответом в формате JSON, которые могли бы привести к обнаружению недопустимых символов.
Предоставление необработанного запроса и ответа.
POST http://host/sap/opu/odata/sap/EMPLOYEE_ ... RESS_ODATA HTTP/1.1 Файл cookie: MYSAPSSO2=---------; X-запрошено-с: X Принять: приложение/json Длина контента: 619 Тип контента: приложение/json; кодировка = utf-8 Хост: хост: 8080 Соединение: Поддержание активности Прагма: без кэша {"start_date":"20090704","emailid":"email@domain.com","pernr":"123456","subty":"2","begda":"\/Date(1246838400000)\/ ","endda":"\/Date(1561950000000)\/","stext":"Home","name2":"Xyz","stras":"Адресная строка первая","locat":"Адресная строка два","anssa":"1","grpvl":"1","land1":"IN","hsnmr":"2-3","landx50":"Индия","state":" 10","bezei":"Карнатака","ort02":"fsd","ort01":"Бангалор","entkm":"0","pstlz":"560097","telnr":"1234567890" ,"persg":null,"persk":null,"bukrs":"safs","ename":"afjdsklfsl","persa":null,"molga":null,"country":null,"name1" :"asfsd","comp_code":"ABC","emp_curr":"INR","message":"Sample"} Ответ:
HTTP/1.1 201 Создано set-cookie: sap-usercontext=sap-client=300; путь=/ set-cookie: SAP_SESSIONID_DHR_100=asjkfhskdhfks%3d; путь=/ тип контента: приложение/json; кодировка = utf-8 длина контента: 1117 местоположение: http://host:8080/sap/opu/odata/sap/EMPL ... RESS_ODATA(emailid='email@domain.com',pernr='123456',subty='2',seqnr='000', start_date='20090704') версия службы данных: 2.0 тип сообщения: С пользовательское сообщение: Дом успешно создан sap-processing-info: ODataBEP=,crp=,st=,MedCacheHub=SHM,codeployed=X,softstate= SAP-perf-fesrec: 232519.000000 {"d":{"__metadata":{"id":"http://host:8080/sap/opu/odata/sap/EMPL ... RESS_ODATA(emailid='email@domain.com',pernr='123456 ',subty='2',seqnr='000',start_date='20090704')","uri":"http://host:8080/sap/opu/odata/sap/EMPL ... RESS_ODATA(emailid=' email@domain.com',pernr='123456',subty='2',seqnr='000',start_date='20090704')","type":"EMPLOYEE_ADDRESS_SRV.ADDRESS_ODATAType"},"emailid":"email @domain.com","pernr":"123456","subty":"2","seqnr":"000","start_date":"20090704","begda":"\/Date(1246838400000)\ /","endda":"\/Date(1561939200000)\/","stext":"Home","stras":"Первая строка адреса","locat":"Вторая строка адреса","anssa": "1","grpvl":"1","name2":"Xyz","hsnmr":"2-3","ort01":"Бангалор","ort02":"fsd","pstlz": "560097","land1":"IN","landx50":"Индия","telnr":"1234567890","entkm":"0","state":"10","bezei":"Карнатака ","persg":"","persk":"","bukrs":"safs","ename":"afjdsklfsl","persa":"","molga":"","country": "","name1":"asfsd","comp_code":"WST","emp_curr":"INR","message":"Sample"}}
HttpClient.SendAsync или PostAsync выдает ошибку ниже.
System.Net.Http.HttpRequestException: при отправке запроса произошла ошибка. ---> System.Exception: текст, связанный с этим кодом ошибки, не найден.
'': обнаружены недопустимые символы.
в System.Net.Http.HttpHandlerToFilter.SendAsync (запрос HttpRequestMessage, отмена CancellationToken)
в System.Net.Http.DiagnosticsHandler.SendAsync (запрос HttpRequestMessage, CancellationToken cancelToken)
в System.Net.Http.HttpClientHandler.SendAsync (запрос HttpRequestMessage, CancellationToken cancelToken)
--- Конец внутренней трассировки стека исключений ---
в System.Net.Http.HttpClientHandler.SendAsync (запрос HttpRequestMessage, CancellationToken cancelToken)
в System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task`1 sendTask, запрос HttpRequestMessage, CancellationTokenSource cts, логическое значение DisposeCts)
в TestApp.MainPage.PostRequest(String url, StringContent stringContent)
Вот код C#:
var адрес = новая AddressModel() { CommunicationId = "email@domain.com", ...... }; вар stringContent = новый StringContent(JsonConvert.SerializeObject(адрес), Encoding.UTF8, "application/json"); Клиент HttpClient = новый HttpClient(); client.DefaultRequestHeaders .Принимать .Add(new MediaTypeWithQualityHeaderValue("application/json"));//заголовок ACCEPT client.DefaultRequestHeaders.Add("Cookie", AuthCookie); client.DefaultRequestHeaders.Add("X-Requested-With", "X"); Запрос HttpRequestMessage = новый HttpRequestMessage (HttpMethod.Post, URL) { Content = заголовок stringContent//CONTENT-TYPE }; пытаться { // Ошибка на этой линии. responseMessage = ждут client.SendAsync(запрос); если (responseMessage.IsSuccessStatusCode) { вар responseContent = ждут ответаMessage.Content.ReadAsStringAsync(); } } поймать (Исключение ex) { // } Фактически, вызов Post прошел успешно, и код ответа был создан с номером 201, если мы наблюдаем это в fiddler. но ответ Json, который возвращает почтовый вызов, вызывает ошибку, и, следовательно, PostAsync не может подготовить объект HttpResponseMessage.
Я не вижу никаких проблем с вставленным ниже ответом в формате JSON, которые могли бы привести к обнаружению недопустимых символов.
Предоставление необработанного запроса и ответа.
POST http://host/sap/opu/odata/sap/EMPLOYEE_ ... RESS_ODATA HTTP/1.1 Файл cookie: MYSAPSSO2=---------; X-запрошено-с: X Принять: приложение/json Длина контента: 619 Тип контента: приложение/json; кодировка = utf-8 Хост: хост: 8080 Соединение: Поддержание активности Прагма: без кэша {"start_date":"20090704","emailid":"email@domain.com","pernr":"123456","subty":"2","begda":"\/Date(1246838400000)\/ ","endda":"\/Date(1561950000000)\/","stext":"Home","name2":"Xyz","stras":"Адресная строка первая","locat":"Адресная строка два","anssa":"1","grpvl":"1","land1":"IN","hsnmr":"2-3","landx50":"Индия","state":" 10","bezei":"Карнатака","ort02":"fsd","ort01":"Бангалор","entkm":"0","pstlz":"560097","telnr":"1234567890" ,"persg":null,"persk":null,"bukrs":"safs","ename":"afjdsklfsl","persa":null,"molga":null,"country":null,"name1" :"asfsd","comp_code":"ABC","emp_curr":"INR","message":"Sample"} Ответ:
HTTP/1.1 201 Создано set-cookie: sap-usercontext=sap-client=300; путь=/ set-cookie: SAP_SESSIONID_DHR_100=asjkfhskdhfks%3d; путь=/ тип контента: приложение/json; кодировка = utf-8 длина контента: 1117 местоположение: http://host:8080/sap/opu/odata/sap/EMPL ... RESS_ODATA(emailid='email@domain.com',pernr='123456',subty='2',seqnr='000', start_date='20090704') версия службы данных: 2.0 тип сообщения: С пользовательское сообщение: Дом успешно создан sap-processing-info: ODataBEP=,crp=,st=,MedCacheHub=SHM,codeployed=X,softstate= SAP-perf-fesrec: 232519.000000 {"d":{"__metadata":{"id":"http://host:8080/sap/opu/odata/sap/EMPL ... RESS_ODATA(emailid='email@domain.com',pernr='123456 ',subty='2',seqnr='000',start_date='20090704')","uri":"http://host:8080/sap/opu/odata/sap/EMPL ... RESS_ODATA(emailid=' email@domain.com',pernr='123456',subty='2',seqnr='000',start_date='20090704')","type":"EMPLOYEE_ADDRESS_SRV.ADDRESS_ODATAType"},"emailid":"email @domain.com","pernr":"123456","subty":"2","seqnr":"000","start_date":"20090704","begda":"\/Date(1246838400000)\ /","endda":"\/Date(1561939200000)\/","stext":"Home","stras":"Первая строка адреса","locat":"Вторая строка адреса","anssa": "1","grpvl":"1","name2":"Xyz","hsnmr":"2-3","ort01":"Бангалор","ort02":"fsd","pstlz": "560097","land1":"IN","landx50":"Индия","telnr":"1234567890","entkm":"0","state":"10","bezei":"Карнатака ","persg":"","persk":"","bukrs":"safs","ename":"afjdsklfsl","persa":"","molga":"","country": "","name1":"asfsd","comp_code":"WST","emp_curr":"INR","message":"Sample"}}
Мобильная версия