2015-11-17 5 views
0

Когда я вызываю запрос как:кириллицы в запросе

<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-адресом.

+0

Правильным способом было бы кодировать URL-адрес - и перед передачей этого на Olingo - разработать какой-либо механизм для его декодирования. Причина, по которой Olingo, похоже, не «понимает», скорее всего, потому, что закодированная строка никогда не была расшифрована. – TR1

+0

Thanx для ответа. См. UPD на вопрос. – slider

+0

Какая версия Olingo вы используете? Если вы отправляете URL-адрес, закодированный в библиотеку Olingo, Olingo должен правильно декодировать и обрабатывать запрос. Одиночные кавычки необходимы, если свойство ключа имеет тип Edm.String. В противном случае вам нужно их оставить. – chrisam

ответ

1

Это было решено мной. Это была глупая ошибка на сервере Olingo.

UPD:
Ошибка была: ключевое свойство 'Id' было INT типа (не STRING). После коррекции Олинго правильно работал с кириллицей.

Thanx все.

+0

было бы неплохо, если бы вы описали ошибку и решение – miraclefoxx

+1

Правильно! Обновленный ответ. – slider

 Смежные вопросы

  • Нет связанных вопросов^_^