Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: XML in querystring

  1. #1

    XML in querystring

    Salve ragazzi, ho un problema che proprio non capisco,

    io devo realizzare dei parser XML,

    premetto che non sono un mago di questo mondo, ma credo che le cose più importanti di averle capite

    comunque, il problema sta nel recupero del file xml, che mi viene passato attraverso il querystring, così
    (http://www...com/autenticazione.asp?<?xml%20version="1.0"%20encoding="iso-8859-1"?><request><header%20isodt="2007-02-16T11:35:40"%20user="zcomuser"%20type="authenticat ion"></header><params><user_login><![CDATA[656557776765565365656]]></user_login></params></request>)

    quando io dalla mia pagina asp richiedo tutta la stringa del querystring eseguo request.querystring, ma sembra che lui non mi recuperi nulla,

    la prima parte di codice che eseguo è questa:
    <%
    richiesta = Request.QueryString
    Set objXML = Server.CreateObject("Msxml2.DOMDocument.4.0")
    objXML.async = False
    objXML.load("richiesta")

    set objData = objXML.selectSingleNode("request/header")

    isodt = objData.GetAttribute("isodt")

    set objData = objXML.selectSingleNode("request/params")
    identitacriptata=objData.text
    set objData = nothing
    %>


    l'errore che mi da è su questo passaggio isodt = objData.GetAttribute("isodt")

    e mi dice questo errore: Necessario oggetto: 'objData'

    il problema credo che stia proprio nel querystring, perchè se io carico l'xml da un file funziona perfettamente,

    Ora chiedo a voi se avete qualche suggerimento in merito,

    Grazie

    Marco

  2. #2
    A parte il fatto che passare uno strema XML via queryString mi pare poco funzionale.
    Ad ogni modo, contento tu, io proverei a scrivere questo così:
    codice:
    objXML.load(richiesta)

  3. #3
    ho provato anche così, ma niente da fare...

    comunque abbiamo preso un servizio e devo implementare il lato back end di questo servizio con 2 pagine simili che ricevono un xml dal querystring, e io a mia volta ne devo restituire un'altro con un response.write

  4. #4
    sembra che il problema sia che il request.querystring litiga con i tag "<>",

    tutto quello che è compreso nei tag il querystring sembra che lo ignori, e se così è sono spacciato, in quanto devo ricevere un xml

    c'è un modo per ovviare a questo problema?

  5. #5
    Passalo via POST. Con una form. Un campo HIDDEN.

  6. #6
    eh fosse per me lo farei, ma chi gestisce tutte le chiamate è il nostro fornitore di servizi, e sarà difficile dirgli di cambiare metodo perchè è uno standard per tutti i clienti,


    ho provato anche con le funzioni escape e unescape, ma niente da fare...

    dite che sono senza speranza con il querystring?

  7. #7
    Originariamente inviato da Marcozza
    eh fosse per me lo farei, ma chi gestisce tutte le chiamate è il nostro fornitore di servizi, e sarà difficile dirgli di cambiare metodo perchè è uno standard per tutti i clienti,


    ho provato anche con le funzioni escape e unescape, ma niente da fare...

    dite che sono senza speranza con il querystring?

    ma si può passare un xml per querystring??????????? mo fatemi conoscere sto fornitore di servizi che gli dico io due paroline!!!!
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  8. #8
    io non sono un mago dell'ASP, e ancora meno dell'XML,

    non discuto che passare un xml sul query string non sia la scelta migliore, dato che mi sta creando tutti questi problemi.

    comunque vi chiedo, risultano anche a voi tutte queste problematiche per passare una stringa sul querystring contenuta tra i tag <>?

    perchè dalle migliaia di prove che ho fatto ho proprio constatato che i problemi nascono dai tag,
    e la cigliegina sulla torta è che devo ricevere un xml,
    che ironia della sorte con i tag ci vive.

  9. #9
    ma sei proprio sicuro che sto servizio usi il reequest di un xml in querystring?


    cmq, prova

    codice:
    xml="<?xml version=""1.0"" enconding=""..........""?>............."
    
    xml=replace(xml,"?","|!|")
    xml=replace(xml,"<","||;")
    xml=replace(xml,">","||:")
    
    xml=server.UrlEncode(xml)
    
    response.redirect("autenticazione.asp?vxml=" & xml)

    e in autenticazione avrai

    codice:
    xml=Request.querystring("vxml")
    xml=Replace(xml,"|!|","?")
    xml=replace(xml,"||;","<")
    xml=replace(xml,"||:",">")
    
    response.contentType="text/xml"
    response.write xml
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  10. #10
    si, sono proprio sicuro,

    per fare un esempio concreto in modo da poter rendere il più chiaro possibile la mia situazione, praticamente succede che:

    Il nostro utente compila un classico modulo con user e password dal nostro sito, e questo modulo è linkato al sito del fornitore,

    il fornitore riceve i dati, ed effettua una chiamata http (cosi mi dice) alle pagine che sto costruendo,
    io dovrei ricevere l'xml che mi passa dal querystring,
    elaborarlo verificando il credito residuo dell'utente, se è o meno abilitato ecc
    e poi comporre una stringa (che è un xml anche quella)
    e sputarla fuori con un response.write(che sarà l'unico response.write nella pagina)

    il fatto è che sul querystring il fornitore non mi passa per esempio ?xml="......"
    mi passa direttamente dopo il punto interrogativo l'xml, di conseguenza io dovrei effettuare un request.querystring senza parametri in modo di ricevere tutta la stringa dopo il ?

    io non gestisco la pagina di chiamata,
    io devo creare la pagina di risposta, che riceve il questo benedetto querystring,

    il codice che ho è questo

    richiesta = Request.querystring
    Set objXML = Server.CreateObject("Msxml2.DOMDocument.4.0")

    objXML.async = False
    objXML.load (richiesta)

    set objData = objXML.selectSingleNode("request/header")
    isodt = objData.GetAttribute("isodt")--------------------------------
    set objData = objXML.selectSingleNode("request/params/user_login")
    userbluedi=objData.text
    set objData = nothing


    e mi genera l'errore sulla nella riga con i trattini, mi dice necessario oggetto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.