Hi
Using Delphi 10.3.3 & RODA 10.0.0.1569
After updating from 10.0.0.1559 to 10.0.0.1569 we’ve experiencing several problems with a Javascript client.
It seems that the client is ‘sending’ the correct requests, but on server-side this is not parsed correctly.
While using a bin-message to open a dataset, the server throws an error…
Could not load data for dsSettlements (dossier): (Detail: stack : Error: BinMessage.write: Unknown type of DynamicSelectFieldNames - undefined at BinMessage.write (http://localhost:8000/Dezq/js/RemObjectsSDK.js:964:15) at TableRequestInfoV5.writeTo (http://localhost:8000/Dezq/js/RemObjectsSDK.js:607:16) at BinMessage.write (http://localhost:8000/Dezq/js/RemObjectsSDK.js:880:14) at TableRequestInfoArray.writeTo (http://localhost:8000/Dezq/js/RemObjectsSDK.js:662:14) at BinMessage.write (http://localhost:8000/Dezq/js/RemObjectsSDK.js:880:14) at __namespace.DataAbstractService.GetData (http://localhost:8000/Dezq/js/DataAbstract4_intf.js:269:7) at Object.DoGetData (http://localhost:8000/Dezq/Dezq.js:62916:10) at Object.DoLoad (http://localhost:8000/Dezq/Dezq.js:54849:31) at Object.Load (http://localhost:8000/Dezq/Dezq.js:56112:21) at Object.WebFormCreate (http://localhost:8000/Dezq/Dezq.js:114400:26) message : BinMessage.write: Unknown type of DynamicSelectFieldNames - undefined)
After fixing this by setting AllowWhereSQL to true on serverside, the server throws another error.
Could not load data for dsSettlements (dossier): (Detail: stack : EROUnknownExceptionReceivedFromServer: [FireDAC][Phys][PG][libpq] ERROR: column "columnsorting" does not exist at BinMessage.setResponseStream (http://localhost:8000/Dezq/js/RemObjectsSDK.js:1311:17) at AjaxWrapper.ajax_post_error [as onError] (http://localhost:8000/Dezq/js/RemObjectsSDK.js:759:34) at XMLHttpRequest.onreadystatechange (http://localhost:8000/Dezq/js/RemObjectsSDK.js:1606:16) message : [FireDAC][Phys][PG][libpq] ERROR: column "columnsorting" does not exist name : EROUnknownExceptionReceivedFromServer)
It seems that a “columnsorting” is always added to the where clause (userfilter) of the query.
Changing the BIN message to a JSON message results in a ‘Exception “EROJSONException” with message “Incompatible datatype” happens during reading field “DynamicSelectFieldNames”.’
An example of the JSON send by the client
{"id":"{daec028e-0e46-44c9-a4c5-c5a5c52efe6a}","method":"ParameterService.GetData","params":{"aTableNameArray":["LanguageParameterOverview"],"aTableRequestInfoArray":[{"DynamicSelectFieldNames":{"dataType":"StringArray","value":[""]},"IncludeSchema":{"dataType":"Boolean","value":true},"MaxRecords":{"dataType":"Integer","value":-1},"Parameters":{"dataType":"DataParameterArray","value":[{"Name":"language","Value":1}]},"Sorting":{"dataType":"ColumnSorting","value":null},"UserFilter":{"dataType":"Utf8String","value":""},"WhereClause":{"dataType":"Xml","value":"<?xml version: \"1.0\"?><query xmlns=\"http://www.remobjects.com/schemas/dataabstract/queries/5.0\" version=\"5.0\"><where><binaryoperation operator=\"Equal\"><parameter type=\"LargeInt\">1</parameter><parameter type=\"LargeInt\">1</parameter></binaryoperation></where></query>"},"__type":"TableRequestInfoV5"}]}}
Pls advice.
Regards,
Filip Lagrou