要求西里尔字母
Cyrillic in request
当我像这样调用请求时:
<serverUrl>/objects.svc/objects(<some-cyrillic-str>)
我有这样的错误:"The URI is malformed"。
当我添加单引号时,它会变成这样:
<serverUrl>/objects.svc/objects('<some-cyrillic-str>')
我有这样的错误:"The key property 'Id' is invalid"。
我认为问题是:URL 编码。
在 servlet 中,请求的西里尔文部分 URL 变成:%D7%...等)而 Olingo 无法使用它。
问:在这种情况下使用西里尔字母的正确方法是什么?
更新:
西尔。 URL 的一部分由 js (encodeURLComponent()) 工作并发送。 Servlet(然后是 Olingo)得到这部分像 %D7%... 当我尝试解码过滤器中的 url(在 servlet 之前)时,我有适当的 cyr。过滤器中的一部分,但是这样的 servlet 不能再被调用了 url。
自己解决了。这是 Olingo 服务器中的愚蠢错误。
更新:
错误是:key 属性 'Id' 是 INT 类型(不是 STRING)。更正后,Olingo 以正确的方式处理西里尔字符串。
谢谢大家。
当我像这样调用请求时:
<serverUrl>/objects.svc/objects(<some-cyrillic-str>)
我有这样的错误:"The URI is malformed"。
当我添加单引号时,它会变成这样:
<serverUrl>/objects.svc/objects('<some-cyrillic-str>')
我有这样的错误:"The key property 'Id' is invalid"。
我认为问题是:URL 编码。 在 servlet 中,请求的西里尔文部分 URL 变成:%D7%...等)而 Olingo 无法使用它。
问:在这种情况下使用西里尔字母的正确方法是什么?
更新: 西尔。 URL 的一部分由 js (encodeURLComponent()) 工作并发送。 Servlet(然后是 Olingo)得到这部分像 %D7%... 当我尝试解码过滤器中的 url(在 servlet 之前)时,我有适当的 cyr。过滤器中的一部分,但是这样的 servlet 不能再被调用了 url。
自己解决了。这是 Olingo 服务器中的愚蠢错误。
更新:
错误是:key 属性 'Id' 是 INT 类型(不是 STRING)。更正后,Olingo 以正确的方式处理西里尔字符串。
谢谢大家。