OEntity.getEntityKey() delivers lowercase in binary-case

24 views
Skip to first unread message

Julian Beil

unread,
Oct 20, 2016, 3:11:27 AM10/20/16
to odata4j-discuss
Hello,

we are using ODATA4J for consuming an OData-Call.










Calling the method OEntityKey.getEntityKey()  returns following:









But we expect following:



So everything between the single quotes gets returned in lowercase although it should be in uppercase.

I also tried to generate the OEntityKey manually. But actually it returns something something like this:








The method ticket.getGuid(); is my own method and returns everything between the single quotes from the method OEntityKey.getEntityKey() in uppercase.
 




Can anyone help? Is it a bug in the ODATA4J-Framework?
Or any other solutions how to generate the OEntityKey manually?

(PS: The Screenshots are from different OData-Calls, so don't worry about the different values.)


Regards
Julian 
 

Ralf Handl

unread,
Oct 21, 2016, 3:34:27 AM10/21/16
to odata4j-discuss
Hi,

OData binary literals are case-insensitive, so the service is free to use A to F or a to f or even a wild mix of them.

https://msdn.microsoft.com/en-us/library/dd541295.aspx defines a binary URL literal as a sequence of HEXDIG pairs, referencing to https://tools.ietf.org/html/rfc5234#appendix-B.1, which defines 

 HEXDIG         =  DIGIT / "A" / "B" / "C" / "D" / "E" / "F"

ABNF string literals within double-quotes are case-insensitive, see https://tools.ietf.org/html/rfc5234#section-2.3.

So the client has to deal with lowercase as well as uppercase letters in binary literals and can't expect e.g. only uppercase letters.

Regards
Ralf
Reply all
Reply to author
Forward
0 new messages