Originariamente inviato da Nosophoros
Ciao Daniele,
intanto grazie per la risposta, sei stato gentilissimo.
Mi faresti un esempio su come catturare la risposta del webservice in formato xml? (anche la richiesta)
Non ho capito come fare perche' quello che ottengo in risposta alle funzioni/metodi del ws sono degli oggetti con delle proprieta'....non l'xml...e non ho capito dove trovo quest'ultimo
nel tuo progetto aggiungi una WEB REFERENCE (il tuo webservice)
da una qualsiasi pagina .aspx lo utilizzi cosi:
codice:
nomewebreference.nomeclassewebservice myProxy = new nomewebreference.nomeclassewebservice ();
XmlDataDocument myXml = new XmlDataDocument();
myXml.Load(Server.MapPath("miofile.xml"));
string risultato = myProxy.nomefunzionepubblicadelwebservice(myXml.OuterXml);
response.write(risultato);
praticamente ho inviato un file XML sotto forma di stringa (OuterXml) aspettandomi una stringa di ritorno.
se scrivi questo:
nomewebservice.asmx?op=nomefunzionepubblica
dovresti vedere il file SOAP in ingressp e in uscita.
codice:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<nomefunzionepubblica
xmlns="namespace">
<parametro1>string</parametro1>
</nomefunzionepubblica>
</soap:Body>
</soap:Envelope>
dentro a parametro1 ci puoi mettere tutto, chiaramente se ci vuoi mettere un file XML devi stare attento ai caratteri speciali.
una possibile risposta di questo SOAP è questa:
codice:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<nomefunzionepubblica xmlns="namespace">
<nomefunzionepubblicaResult>string</nomefunzionepubblicaResult>
</nomefunzionepubblica>
</soap:Body>
</soap:Envelope>
usando .NET tutto questo ti risulterà invisibile, vedrai solo il risultato dentro alla tua variabile. Altrimenti se utillizzi un'applicativo VB6 o ASP vedrai tutto e dovrai scremarti la risposta.
Come risposta puoi ricevere benissimo un file XML poi basta che lo metti dentro ad un XMLDocument e fai quello che vuoi.