Using the latest build of SmartClient.
Situation:
RestDatasource A is cacheAllData
RestDatasource B is normal RestDatasource.
First I fetch the data from DsA then I start a transaction and fetch ds A again and also data from B.
As documented, the properties of the first request are used to handle the reply of the transaction.
But the problem is, the first request is not a rest request (isRestRequest) any more, because it already has it's cached dataset! Because of this the results of the transaction are not evaluated and no response records are created.
clientOnly is set to true in the code for ISC_Databindings because internalCacheRequest is set to true.
I have a workaround for this:
This is a nasty one, because it will only happen in these conditions.
Situation:
RestDatasource A is cacheAllData
RestDatasource B is normal RestDatasource.
First I fetch the data from DsA then I start a transaction and fetch ds A again and also data from B.
As documented, the properties of the first request are used to handle the reply of the transaction.
But the problem is, the first request is not a rest request (isRestRequest) any more, because it already has it's cached dataset! Because of this the results of the transaction are not evaluated and no response records are created.
clientOnly is set to true in the code for ISC_Databindings because internalCacheRequest is set to true.
I have a workaround for this:
Code:
isc.RPCManager.addClassMethods({
oldCanQueueRequest: isc.RPCManager.canQueueRequest,
canQueueRequest: function(request,transportIsExplicit){
if(request.clientOnly) return false;
return this.oldCanQueueRequest(request,transportIsExplicit);
}
});