It is currently 19 January 2021, 11:58 Advanced search

gethttp - errore strano

Domande e risposte su come utilizzare Instant Developer Foundation al meglio

gethttp - errore strano

Postby Gattonero » 2 March 2020, 15:07

Inde 18.5

Code: Select all
string surl = "http://127.0.0.1:1308/MiaApp/MiaApp.xml"
//
IDMap idm = new()
idm.setValue("ID_TYPE", "POST")
idm.setValue("ID_NOERROR", true)
idm.setValue("ID_AUTOPROXY", true)
idm.setValue("X-HTTP-Method-Override", "Login")
idm.setValue("username", Username)
idm.setValue("password", Password)
 
IDArray ida = idm.getKeys()
string headers = ""

for (int j = 0; j < ida.length(); j = j + 1)
{
string key = ida.getValue(j)
string value = idm.getValue(key)
headers = headers + key + ":" + value + "\n"
}

idm.clear()
idm.setValue("ID_HEADERS", headers)

string resp = NuovaApplicazioneWeb.getHTTP(surl, idm, ...)


Da postman tutto corretto... da Inde

(Login) Err : La lunghezza non può essere minore di zero. Nome parametro: length


Ammetto di essere perplesso... aggiungo che mi restituisce un XML di un classe DOC
User avatar
Gattonero
 
Posts: 600
Joined: 28 August 2012, 16:49

Re: gethttp - errore strano

Postby Gattonero » 2 March 2020, 15:13

Aggiungo che mettere ile debug su file non serve a nulla (sembra che manco arrivi la chiamata) e che modificando la risposta a "hello world" non cambia nulla lo stesso, mi sembra quasi un errore in fase di invio richiesta più che altro...
User avatar
Gattonero
 
Posts: 600
Joined: 28 August 2012, 16:49

Re: gethttp - errore strano

Postby Gattonero » 2 March 2020, 15:49

Cosa assolutamente ridicola... che capisco ancora meno... in Java funziona perfettamente, quindi non credo che sia un errore di codice...
User avatar
Gattonero
 
Posts: 600
Joined: 28 August 2012, 16:49

Re: gethttp - errore strano

Postby zpj61 » 2 March 2020, 16:42

Una volta mi era capitata una cosa così senza senso... non so se possa centrare ma prova a salvare ida.length() in una variabile e usare quella nel loop...
User avatar
zpj61
 
Posts: 687
Joined: 20 November 2015, 8:20
Location: Bassano del Grappa

Re: gethttp - errore strano

Postby Gattonero » 2 March 2020, 16:52

zpj61 wrote:Una volta mi era capitata una cosa così senza senso... non so se possa centrare ma prova a salvare ida.length() in una variabile e usare quella nel loop...

ops forse non era chiaro l'errore avviene nella chiamata gethttp(...)

Code: Select all
(On Login Event) Err : La lunghezza non può essere minore di zero. Nome parametro: length
System.String.InternalSubStringWithChecks
com.progamma.IDL.HttpRequest
com.progamma.IDL.HttpRequest
MyWebEntryPoint.Login(MyWebEntryPoint.cs:4416)
User avatar
Gattonero
 
Posts: 600
Joined: 28 August 2012, 16:49

Re: gethttp - errore strano

Postby lucabaldini » 3 March 2020, 10:18

Ciao, dato che hai il progetto ti andrebbe di inviarlo come segnalazione di malfunzionamento? Così lo analizziamo e lo correggiamo. Ci deve essere un SubString da qualche parte non protetto... e probabilmente, in Java, quel substring non c'è o è scritto diversamente e funziona.
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 4673
Joined: 1 October 2010, 17:03
Location: Bologna

Re: gethttp - errore strano

Postby Gattonero » 3 March 2020, 10:30

lucabaldini wrote:Ciao, dato che hai il progetto ti andrebbe di inviarlo come segnalazione di malfunzionamento? Così lo analizziamo e lo correggiamo. Ci deve essere un SubString da qualche parte non protetto... e probabilmente, in Java, quel substring non c'è o è scritto diversamente e funziona.


se serve posso già dire che ho trovato una mezza soluzione che fa andare le cose, anche se sarebbe carino che venisse implementato un modo unico... nel codice sopra scritto ho semplicemente tolto l'ultimo "\n" in fondo alla stringa che passo come parametro ID_HEADERS, ossia da
Code: Select all
chiave1:valore1\nchiave2:valore2\nchiave3:valore3\n

si passa a

Code: Select all
chiave1:valore1\nchiave2:valore2\nchiave3:valore3


e tutto funziona
User avatar
Gattonero
 
Posts: 600
Joined: 28 August 2012, 16:49

Re: gethttp - errore strano

Postby lucabaldini » 3 March 2020, 11:18

Ahhhhhh!!!! :-DDDDDDDD

E' sicuramente quello... non è protetto il fatto che gli header finiscano per \n.

In Java il codice è questo:
Code: Select all
  String[] head = shead.split("\n");
  for (int i = 0; i < head.length; i++)
  {
    String h = head[i];
    int p = h.indexOf(":");
    if (p != -1)
      req.addRequestProperty(h.substring(0, p), h.substring(p+1));


In C# è scritto così:
Code: Select all
  String[] head = shead.Split('\n');
  for (int i = 0; i < head.Length; i++)
  {
    int p = head[i].IndexOf(':');
    String name = head[i].Substring(0, p).ToLower();
    String value = head[i].Substring(p+1);


Basta aggiungere un "if (p != -1)" anche in C# ed è fatta.

Creo io il ticket e lo correggo in questa versione... è facile :-)))
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 4673
Joined: 1 October 2010, 17:03
Location: Bologna

Re: gethttp - errore strano

Postby lucabaldini » 3 March 2020, 11:29

L'attività NPQ04602 è stata completata e sarà disponibile nella versione Instant Developer 20.0. Clicca qui per leggere le note di rilascio.
User avatar
lucabaldini
Pro Gamma
Pro Gamma
 
Posts: 4673
Joined: 1 October 2010, 17:03
Location: Bologna


Return to Tips & Tricks - Foundation

Who is online

Users browsing this forum: Google [Bot], ivan.gani and 24 guests