You are not logged in.
Pages: 1
I have service with method:
function TServiceBase.LogOn(const aEmail, aPassHash, aAPIKey, aResourceIdentifier: RawByteString; aClientSalt: UInt32): RawUTF8;
I call this from Delphi client and method is called properly, in log I see:
[MainEventLog] 2018-07-26 19:51:27.13 call ss.Rest.ServicesAccessAdministration.TAccessAdministrationRest(7E94AF60)
IAccessAdministrationService.LogOn["ZWdveWFAb25ldC5wbA==",
"Y2MyNTBmNTAzMzIyNmVhYjk4Y2ExODliMzBhZmMzYjAwODQ0OGVkMTg0YzFhYWQ0NmQ4NzIwMTQyZTJjMDk2ZA==","QVBJS0VZLUFCQ0RFLUZHSElK",
"WFlaLUFCQy0xMjM=",8493]
but when I call from JS client (based on jquery) then request in log looks:
[MainEventLog] 2018-07-26 19:51:27.13 call ss.Rest.ServicesAccessAdministration.TAccessAdministrationRest(7E94AF60)
IAccessAdministrationService.LogOn{"aEmail":"test@test.pl","aPassHash":"2676afb19748e6fc5ed1320df9f8d4a7c9fb41b6ef997e2cb4998ff10dd1007c",
"aAPIKey":"KEY_FOR_TEST","aResourceIdentifier":"SomeResourceId","aClientSalt":693}
and method LogOn is called with empty parameters (except aClientSalt, this param has value) :-(
I don't JS developer, where I should search problem?
Offline
1. Use your browser in debugger mode (F12) to check the outgoing query layout, and compare with what you expect.
2. You are making confusing between RawByteString and RawUTF8, I guess.
Use RawUTF8 for regular text (aEmail, aPassHadh, aApIKey, aResourceIDentifier) and not RawByteString.
As state by the documentation, RawByteString expects some binary content, and converts everything to Base-64 - this is why the Delphi client argument is weird, and the JS client doesn't make the expected request.
Offline
You are right, after change param type to RawUTF8 values are corrected. Thx Arnaud!
Offline
Pages: 1