![]() |
Error 'Operation not allowed on sorted list' passing start params to ISAPI dll - Printable Version +- Atozed Forums (https://www.atozed.com/forums) +-- Forum: Atozed Software Products (https://www.atozed.com/forums/forum-1.html) +--- Forum: IntraWeb (https://www.atozed.com/forums/forum-3.html) +---- Forum: English (https://www.atozed.com/forums/forum-16.html) +----- Forum: IntraWeb General Discussion (https://www.atozed.com/forums/forum-4.html) +----- Thread: Error 'Operation not allowed on sorted list' passing start params to ISAPI dll (/thread-3591.html) |
Error 'Operation not allowed on sorted list' passing start params to ISAPI dll - mondoedp - 10-26-2023 Hello, I'm facing a problem that appeared using 15.3.12 version and higher (I've just tried 15.4.1). In 15.2.63 that we use in production it works good. Also, the problem is only on ISAPI module, compiling SA executable it's ok. In our IWForm we call the application itself to start a new session passing some parmeter that we use to automatically log in, but the content it's not important. procedure TWMyForm.MyButtonAsyncClick(Sender: TObject; EventParams: TStringList); ... begin S:='var formIris = document.forms["SubmitForm"]; ' + 'formIris.setAttribute("action","' + GGetWebApplicationThreadVar.InternalUrlBase + '/start' + '"); ' + 'document.getElementById("HIDDEN_xusr").value = "user"; ' + 'document.getElementById("HIDDEN_profilo").value = "profile"; ' + 'formIris.elements["IW_SessionID_"].value="";' + 'formIris.elements["IW_TrackID_"].value="";' + 'SubmitClick("' + btnConferma.HTMLName + '", "", true); '; GGetWebApplicationThreadVar.CallBackResponse.AddJavaScriptToExecuteAsCDATA(S); //After several operation, a new session is going to start; the call stack show me this call: TIWServerSession.GetStartParams (no source available, I wasn't able to debug) //soon after in IWApplication: class procedure TIWParamsString.EncodeParams(const AParamsList: TStrings); var i: Integer; begin for i := 0 to AParamsList.Count - 1 do begin AParamsList[i] := TURL.ParamsEncode(AParamsList[i]); end; end; we have: - AParamsList.Text = 'azienda=AZIN'#$D#$A'BTNANNULLA='#$D#$A'BTNCHIUDI_WC012FVISUALIZZAFILEFM='#$D#$A'BTNCONFERMA='#$D#$A'BTNSENDFILE='#$D#$A'CMBPROFILONUOVO=0'#$D#$A'database=IRIS'#$D#$A'EDTAJAXFORMID=W020FCambioProfilo31591375'#$D#$A'EDTPROFILOATTUALE=D'#$D#$A'GRDMEMOAJAX='#$D#$A'IW_Action=BTNCONFERMA'#$D#$A'IW_ActionParam='#$D#$A'IW_FormClass=TW020FCambioProfilo'#$D#$A'IW_FormName=W020FCambioProfilo'#$D#$A'IW_height='#$D#$A'IW_Location_=http://localhost/Iris32/W000PIrisWEB_IIS.dll/nnIGyEVlGfm5HVTjRMrNnWpaoVS/'#$D#$A'IW_Offset=0,0'#$D#$A'IW_SessionID_='#$D#$A'IW_TrackID_='#$D#$A'IW_width='#$D#$A'IW_WindowID_=wid=FRG~vjMCuGjy6z5eTYWBoef9ggm'#$D#$A'loginesterno=S'#$D#$A'profilo=R'#$D#$A'pwd='#$D#$A'usr='#$D#$A'WR010SCROLLLEFT=0'#$D#$A'WR010SCROLLTOP=0'#$D#$A'xusr=AV2y3wiTbaBdaQK+Qa6qkecYXHC8i2nqKP46P5svn4w= ' - AParamsList.Sorted = True //This is the problem in ISAPI!! In SA Sorted = False then, the line "AParamsList[i] := TURL.ParamsEncode(AParamsList[i]);" make a call to TStringList.put in System.Classes procedure TStringList.Put(Index: Integer; const S: string); begin if Sorted then Error(@SSortedListError, 0); --> error page: Application Error An unhandled application error has occured within IrisWEB Error message: Operation not allowed on sorted list Could you please verify why this different behavior? Thank you RE: Error 'Operation not allowed on sorted list' passing start params to ISAPI dll - Alexandre Machado - 10-27-2023 Hi, I'll try to recreate this here and let you know the results. Parsing and storing of start parameters have changed indeed since IW 15.2 versions. RE: Error 'Operation not allowed on sorted list' passing start params to ISAPI dll - mondoedp - 10-31-2023 (10-27-2023, 06:23 AM)Alexandre Machado Wrote: Hi, I'll try to recreate this here and let you know the results. Hi Alexandre, have been you able to recreate the case? Thanks RE: Error 'Operation not allowed on sorted list' passing start params to ISAPI dll - mondoedp - 11-14-2023 Hello Alexandre, hoping you're investigating into the case, I'm wondering if may be helpful to have the IWServerSession source so I can debug more deeply. Let me know if I can help you. Otherwise, we can't use recent versions. Regards RE: Error 'Operation not allowed on sorted list' passing start params to ISAPI dll - Alexandre Machado - 11-17-2023 I'm currently working on the issue and will have some more information soon. RE: Error 'Operation not allowed on sorted list' passing start params to ISAPI dll - Alexandre Machado - 11-17-2023 This issue has been resolved and will be available in the next IW release |