Error 'Operation not allowed on sorted list' passing start params to ISAPI dll

<< Click to Display Table of Contents >>

Navigation:  Forum >

Error 'Operation not allowed on sorted list' passing start params to ISAPI dll

Forum link

 

 

 


 

10-26-2023, 02:07 PM:

 

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

 

 

 


 

10-27-2023, 06:23 AM:

 

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.

 

 

 


 

10-31-2023, 05:15 PM:

 

(10-27-2023, 06:23 AM)Alexandre Machado Wrote: [ -> ]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.

 

Hi Alexandre,

 

have been you able to recreate the case?

 

Thanks

 

 

 


 

11-14-2023, 08:57 AM:

 

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

 

 

 


 

11-17-2023, 09:16 PM:

 

I'm currently working on the issue and will have some more information soon.

 

 

 


 

11-17-2023, 09:51 PM:

 

This issue has been resolved and will be available in the next IW release