Почему этот URI вызывает ошибку времени выполнения в службе OData? - PullRequest
0 голосов
/ 29 апреля 2018

Следующий URI вызвал ошибку в общедоступной службе OData:

http://services.odata.org/V4/Northwind/Northwind.svc/Suppliers?$filter=Address eq '<A'

Тип объекта Поставщик содержит свойство Адрес типа Edm.String . Таким образом, значение Address может содержать любой символ UTF-8 из определения (см. Раздел 6. Примитивные типы данных ).

Сервер отвечает:

Ошибка выполнения: на сервере произошла ошибка приложения. Текущие пользовательские настройки ошибок для этого приложения не позволяют удаленно просматривать сведения об ошибке приложения (из соображений безопасности).

Что-то не так с этим URI или это действительно проблема на стороне сервера (например, неправильный анализ опции запроса $ filter)?

1 Ответ

0 голосов
/ 03 мая 2018

Вы должны закодировать URL вашего запроса, например, с помощью

http://prasannaadavi.com/2014/06/handling-special-characters-in-odata-queries.html

Как обрабатываются специальные символы в запросе oData?

В вашем особом случае вы должны попробовать кодировать "<A" с "&lt;A"

-> найдено в https://web.archive.org/web/20150101222238/http://msdn.microsoft.com/en-us/library/aa226544(SQL.80).aspx)

...