Newsgroup: it.comp.www.asp
Titolo: Trasporto di variabili session cambiando server

Saluti a tutti
Il problema e' il seguente.
Accedo ad un server con pagine asp e imposto delle variabili session con
i dati raccolti in questa fase.
Poi accedo ad un altro server (per fare il pagamento con carta di
credito, per capirci)
Quindi alla fine questo server mi ridirige la risposta in base ad un ok
o meno verso pagine che sono sul primo server (le decido io). A questo
punto pero' le variabili session (mia ipotesi, non lo spiego
diversamente. La sessione termina al cambio di server?) non sono piu'
"vive", non contengono piu' valore.
Ci possono essere sesioni multiple.
Avete per cortesia una qualche idea di come fare a trasportare lungo
questo tragitto le variabili (sono indispensabili per sapere quali
record di database aggiornare in base alla risposta ottenuta) o i valori
(in qualche altro modo)?
Un grazie in anticipo ed un saluto
Antonio

 - apri la pagina di pagamento in un altro browser
 - salvi in un cookie
Se abbandoni il sito perdi le Session e non puoi recuperarle in nessun modo

 ha scritto nel messaggio
news:3BBAAB3A...@3wpeople.it...

Ho avuto anch'io questo problema e l'ho risolto utilizzando un paramentro
che salvo sul DB (il n° ordine) prima di fare il pagamento e poi recupero
tutto l'ordine tramite il numero che la banca mi restituisce con il responso
del pagamento (il n° d'ordine appunto:-).
ciao
--
Kappa
ka...@webngo.net
www.webngo.net
www.filmscoop.it

 del pagamento (il n° d'ordine appunto:-).
Ciao,
grazie della risposta.
Ma il tuo numero di ordine e' un tuo numero generato in qualche modo. Quello
restituito dal responso di pagamento non e' coincidente con il tuo ma un altro
numero. Come fai a fare in modo che siano gli stessi?
Saluti e grazie in anticipo per la risposta.
Bye
Antonio

Cristiano Larghi wrote:

Grazie 1000 per le idee
Questo era un po' quello che stavo pensando di fare.
Usare un window.open che apre un'altra finestra, quindi un altro browser.
Poi sto vedendo qualche altra cosa come avrai visto nell'altra risposta.
Che tu sappia, siccome nell'ultima pagina uso un form (da cui poi ridirigo i
dati verso il secondo server che li deve ricevere per operare),  quale e'
l'eventuale sintassi per usare una window.open?
E poi, dal secondo browser, effettuo tutte le varie operazioni ed anche lui mi
risponde con dei dati, come faccio a fargleli inviare al primo browser (su cui
le session sono attive), cioe' chiudere quella finestra e riattivare la
precedente? (Al momento li reperisco con dei Request.QueryString() )
Un saluto e grazie per l'eventuale risposta.
Bye
Antonio

 ha scritto nel messaggio
news:3BBC0384...@3wpeople.it...

Allora il mio è un numero generato, che coincide con il numero d'ordine, lo
stesso che la banca (Telepay Lihght) mi ritorna.
Tu che sistema di pagamento usi?


 risponde con dei dati, come faccio a fargleli inviare al primo browser
Non ricordo, chiedi in it.comp.lang.javascript, comunque per riferirsi alla
finestra "madre" si usa window.opener.nomefunctiondaeseguire o simile

> "vive", non contengono piu' valore.
Problema già visto e già risolto.
Opzione  semplice  [by  Moderatore]  : istanzi  un  oggetto  "internet
transfer control"  o un  OCX che lo  inglobi.  Con questo  oggetto, da
dentro l'esecuzione della pagina ASP, lanci  la POST o la GET sul sito
di autenticazione ed alla fine ti fai il parse dell'output.
Semplice da realizzare ma il tempo di esecuzione della POST può portare
in timeout l'elaborazione della pagina chiamante.
Opzione che non ci avevano capito molto [mia naturalmente]: 
* la pagina A su server1 chiama la pagina B su server2
  passando il sessionID come querystring/POST.
* la pagina B su server2 fa il suo lavoro e chiama la pagina C di rientro
  su server1 passando come querystring/POST sia i dati del risultato sia
  il sessionID ricevuto dalla pagina A
* la pagina C imposta il cookie SESSIONID col valore che le ha passato la
  pagina B e chiama la pagina D passando per querystring/POST i risultati
  dell'elaborazione compiuta dalla pagina B
* La pagina D si ritrova la sessione resuscitata e può applicare i risultati
  dell'elaborazione della pagina B che riceve attraverso la pagina C
SERVER1			SERVER2
         SessionID   
PAG A -----------------> PAG B
          Richiesta       |
                          |
          SessionID       |
PAG C <-------------------/       La pagina C imposta il cookie SESSIONID
  |       Risposta di B
  |
  | Risposta di B
  |
  V
Pag D                             La pagina D finalmente elabora la risposta
                                  della pagina B
Come funziona sto trucco fetido ? La cosa è che una sessione non viene
distrutta  per una  tempo definito  nel  registry, e  fintanto che  la
sessione esiste  chiunque può accedervi  presentando il corrispondente
SessionID.
--
Gian Uberto| main(){printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}
Lauri      |                        David Korn, 1987 ioccc best one liner 
(aka saint)|-------------------------------------------------------------------
em@ail: 
sa...@eng.it
 ( vedere X-nospam nello header - see X-nospam in header )

 SessionID.
Ciao e grazie
Devo ovviamente guardare per bene le cose ma non so se la cosa puo' andare. Per un
motivo semplice e cioe'che io sul server2 non ho nessun tipo di controllo e ci sono
diverse pagine attivate. Dalla pagina A richiamo la pagina B e da li' in poi ne
perdo il ocntrollo. Poi da una pagina X sul serve 2 viene richiamata una pagina Y
sul server 1, quindi come faccio a passargli e farmi restituire il SesionID?
Un grazie in anticipo per la risposta e buona giornata
Bye
Antonio

 Tu che sistema di pagamento usi?
Ciao K,
grazie di nuovo.
Io uso Banca Sella, ma il problemino (probabilmente sono io che non sono
preparato) e' che io genero un numero di ordine che e' un banale progressivo,
poi richiamo la pagina di pagamento e da quel momento io non ho piu' nessun
controllo, fa tutto lei. Poi mi ritorna una risposta dove c'e' un numero ma
generato da loro e quindi non risalgo a nulla.
Ora do' un'occhiata alle altre risposte e vedo un po' di capire .....
Saluti e buon lavoro
Bye
Antonio