Serializzazione XML con i Web Service di ASP.NET e ASP

2 pagine in totale: <<Indietro 1 [2]

Il client

Adesso vediamo come consumare questo web service esaminando il codice sorgente del client, che è costituito da una semplice pagina ASP (client_memoryStream.asp)

<%
'crea l'istanza del client SOAP incluso nel Microsoft Soap ToolKit 2
Set SoapClient = Server.CreateObject("MSSOAP.SoapClient")
SoapClient.ClientProperty("ServerHTTPRequest") = True
SoapClient.mssoapinit_
"http://localhost/XMLSerialization/xmlSerialization_memoryStream.asmx?WSDL", _
"SerializzaXml","SerializzaXmlSoap"

'richiama il metodo del web service che ritorna la stringa XML
risultato = SoapClient.xmlDocument()
response.write "ecco la stringa manipolata:<br>"

'manipolazione della stringa xml tramite l'XMLDOM di Microsoft
Set objXML = Server.CreateObject("msxml2.DOMDocument.3.0")
' validazione
objXML.validateOnParse = false
' non conservare spazi
objXML.preserveWhiteSpace = false

blnLoaded = objXML.LoadXml(risultato)

If Not blnLoaded Then
    Response.write "<P>ERRORE<br>codice: " & _
    objXML.parseError.errorCode & "<br>Linea/Col: " & _
    objXML.parseError.line & "/" & objXML.parseError.linepos & "</P>"
Else
    Set objNodeList = objXML.getElementsByTagName("Item")

    For Each objNode In objNodeList

    For Each objNode2 In objNode.childNodes

    Select Case objNode2.nodeName
      Case "ID"
       strID = objNode2.firstChild.nodevalue
       Case "Prezzo"
       strPrezzo = objNode2.firstChild.nodevalue
    End Select
    Next
    ' mostro a video
    Response.write "<li>ID:" & strID & "Prezzo:" & strPrezzo
   
    strID = ""
    strPrezzo = ""
    Next

    set objNodeList = Nothing
End if

'distrugge l'oggetto Soap Client
Set SoapClient = Nothing
%>

Immagine

In questa pagina ASP viene semplicemente istanziato l'oggetto Soap Client del Microsoft Soap Toolkit, che viene fatto puntare al servizio web. In seguito viene richiamato il metodo remoto xmlDocument(), il quale restituisce la stringa xml da cui, manipolata tramite l'XMLDOM, si riesce a estrarne e visualizzarne i valori in essa contenuta, in un formato comprensibile.

Un passo indietro

Per provare questo web service scaricate i sorgenti che sono a corredo dell'articolo (li trovate a fondo pagina) e seguite le seguenti istruzioni:

  • modificate l'URL del metodo "mssoapinit" nella pagina ASP, mettendo quello relativo alla directory virtuale in cui avete posizionato il web service (cioè il file .asmx)
  • assicuratevi di aver installato il Microsoft SOAP Toolkit e il Microsoft XMLDOM sulla macchina in cui volete far girare la pagina ASP

A questo punto, l'esempio sarà perfettamente funzionante!

Conclusioni

Questo articolo, molto semplice nel suo insieme, in realtà ci permette di apprezzare appieno sia la portabilità dei web service, sia di capire che ASP in molti casi è ancora tutt'altro che superato.

I web services sono l'argomento più hot del momento e grazie ad un semplice toolkit, anche le applicazioni ASP potranno beneficiare della potenza della controparte ASP.NET, sfruttandone le caratteristiche più avanzate semplice accedendo a web services che sfruttino questa nuova tecnologia.

2 pagine in totale: <<Indietro 1 [2]

Attenzione: Questo articolo contiene un allegato

Contenuti dell'articolo

Commenti
Dai un voto a questo articolo, ci aiuterà a migliorare il nostro sito (1 è il voto minimo, 5 il massimo).

Per procedere al rating dell'articolo devi essere autenticato.

Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.


TUTORIALS
TOP TEN ARTICOLI
NOTIFICHE

Iscriviti alla nostra newsletter nuoviarticoli per ricevere e-mail le notifiche!

Indirizzo e-mail:
PROVIDER ASP.NET 2.0

Seleziona il database per avere il web.config pronto per Membership, Roles e Profile API.



IN EVIDENZA
MISC