Когда я вызываю запрос как:кириллицы в запросе
<serverUrl>/objects.svc/objects(<some-cyrillic-str>)
у меня есть ошибки, как: "URI, имеет неверный формат".
И когда я добавить одиночные кавычки, так что она становится как:
<serverUrl>/objects.svc/objects('<some-cyrillic-str>')
у меня есть ошибки, как: "The 'Id' ключевое свойство является недействительным".
Я думаю, что проблема заключается в следующем: кодирование URL. В сервлет-кириллической части запроса URL-адрес становится следующим:% D7% .... и т. Д.), А Olingo не может его использовать.
В: Каков правильный способ использования кириллицы в таких ситуациях?
UPD: Cyr. часть URL, работающая js (encodeURLComponent()) и отправка. Сервлет (а затем Olingo) получает эту часть, как% D7% ... Когда я пытаюсь декодировать url в фильтре (до сервлета), у меня есть правильный cyr. часть в фильтре, но сервлет больше не может быть вызван таким URL-адресом.
Правильным способом было бы кодировать URL-адрес - и перед передачей этого на Olingo - разработать какой-либо механизм для его декодирования. Причина, по которой Olingo, похоже, не «понимает», скорее всего, потому, что закодированная строка никогда не была расшифрована. – TR1
Thanx для ответа. См. UPD на вопрос. – slider
Какая версия Olingo вы используете? Если вы отправляете URL-адрес, закодированный в библиотеку Olingo, Olingo должен правильно декодировать и обрабатывать запрос. Одиночные кавычки необходимы, если свойство ключа имеет тип Edm.String. В противном случае вам нужно их оставить. – chrisam