Någon som är duktig på Hessian? Jag håller på och tittar på Skandiabankens API men jag lyckas inte deserialisera datan jag får tillbaka.
Så här ser en del av en dump av datan ut:
(Jag har debugprintat enligt följande byteindex: decimalt värde (hexadecimaltvärde) 'ascii-tecken')
Kod:
0: 77 (4d) 'M'
1: 116 (74) 't'
2: 0 (0)
3: 35 (23) '#'
4: 115 (73) 's'
5: 101 (65) 'e'
6: 46 (2e) '.'
7: 115 (73) 's'
8: 109 (6d) 'm'
9: 97 (61) 'a'
10: 114 (72) 'r'
11: 116 (74) 't'
12: 114 (72) 'r'
13: 101 (65) 'e'
14: 102 (66) 'f'
15: 105 (69) 'i'
16: 108 (6c) 'l'
17: 108 (6c) 'l'
18: 46 (2e) '.'
19: 97 (61) 'a'
20: 100 (64) 'd'
21: 46 (2e) '.'
22: 100 (64) 'd'
23: 111 (6f) 'o'
24: 109 (6d) 'm'
25: 97 (61) 'a'
26: 105 (69) 'i'
27: 110 (6e) 'n'
28: 46 (2e) '.'
29: 65 (41) 'A'
30: 100 (64) 'd'
31: 67 (43) 'C'
32: 117 (75) 'u'
33: 115 (73) 's'
34: 116 (74) 't'
35: 111 (6f) 'o'
36: 109 (6d) 'm'
37: 101 (65) 'e'
38: 114 (72) 'r'
39: 83 (53) 'S'
40: 0 (0)
41: 2 (2)
42: 105 (69) 'i'
43: 100 (64) 'd'
44: 73 (49) 'I'
45: 0 (0)
46: 46 (2e) '.'
47: 96 (60) '`'
48: 40 (28) '('
........
Första tecknet är ett M vilket är "namngiven klass" som borde följas av en sträng som är klassnamnet följt av innehållet. Sen skiter det sig, Nästa tecken borde vara ett 'S' (sträng längre än 32 tecken) eller möjligen ett 'R'(sträng uppdelad i flera chunks) men är i själva verket ett 't'. Därefter kommer myckt riktigt längden på strängen som två bytes följt av tecken-data. Om vi antar att 't' egentligen är ett 'R' så stämmer det ganska bra. Efter den första Chunken kommer då ett S (sista chunken i lång sträng). I så fall får jag klassnamnet till "se.smartrefill.ad.domain.AdCustomerid" vilket också nästan stämmer. Den klass jag förväntar mig är "se.smartrefill.ad.domain.AdCustomer"
Har jag missat något eller följer de inte Hessian-specen (v2)??