Microsoft Most Valuable Professional
Re: JavaScript SOAP Client Library su CodePlex
andrewz non è online. Ultima attività: 06/09/2008 15.05.59andrewz
Inserito il: 27 ottobre 2006 16.20
contributi / Top Poster / Community manager / ciclismo.sitiasp.it / Blog / 2785 messaggi dal 29 ott 2001 Istalla Microsoft Silverlight!
A proposito, visto che è una cosa che mi è venuta proprio in mente in questi giorni e non avevo capito se l'hai implementata...

Data una classe server side, per esempio:

public class Persona
{
private string _nome;
public string Nome
{
get { return _nome; }
set { _nome=value; }
}
public Persona()
{}
public Persona(string nome)
{
_nome=nome;
}
}

Com'è possibile con la tua classe istanziarla "prima" di passarla ad un WS in modo che la accetti come parametro?

Qualcosa di questo tipo:

funtion funzione()
{
r=new Persona();
r.Nome="AltroNome";
var pl = new SOAPClientParameters();
pl.add("parametro", r);
SOAPClient.invoke(url, "RiprendiNome", pl, true, funzione_callBack); }

[WebMethod]
public void RiprendiNome(Persona parametro)
{
parametro.Nome=...
}

Oppure, ricevuta la classe da un ws, è possibile modificarlo e rimandarlo ad un altro ws?

Ciao

Andrea Zani
Anche un orologio rotto segna per ben due volte al giorno l'ora esatta.
Re: JavaScript SOAP Client Library su CodePlex
m.casati non è online. Ultima attività: 06/09/2008 12.31.42m.casati
Inserito il: 27 ottobre 2006 17.12
contributi / Top Poster / Community manager / www.guru4.net / Blog / 2306 messaggi dal 13 giu 2001 Istalla Microsoft Silverlight!
andrewz ha scritto:
Data una classe server side [...] Com'è possibile con la tua classe istanziarla "prima" di passarla ad un WS in modo che la accetti come parametro?


Sì, il passaggio di oggetti complessi al Web Service è stato implementato nella versione 2.0 del SOAP Client.

Guarda nella "DEMO 12 - Inviare parametri al Web Service (avanzato)" l'esempio numero 4.
Ho inserito 3 modi per fare quello che chiedi (simili, sfruttano semplicemente caratteristiche della sintassi JavaScript per la creazione di oggetti):

1) esempio 4a: creandoti la classe anche lato client (purtroppo è un'operazione che devi fare a mano...) e istanziandola con "new..."

2) esempio 4b: istanziando un "new Object()" ed impostandogli poi le proprietà (ovviamente lato client devi conoscere a priori l'interfaccia della classe lato server per impostarne le properties)

3) esempio 4c: utilizzando come istanza dell'oggetto un array associativo (dictionary) che in javascript è utilizzabile come Object


Oppure, ricevuta la classe da un ws, è possibile modificarlo e rimandarlo ad un altro ws?


Assolutamente sì, visto che quando viene restituito dal webservice, facendo riferimento al WSDL, viene ricreato un oggetto lato client che rimappa quello lato server. In pratica ritorni al caso di prima, in particolare - per come ho implementato la ricostruzione dell'entity nel soap client - nel caso 4b, usando cioè "new Object()".

Puoi provarlo semplicemente mettendo insieme la demo 7 (il web service restituisce uno User data una stringa) e la demo 12 (dove lo User viene passato al web service)

Se hai problemi... ci vediamo su CodePlex!

Matteo Casati
GURU4.net
Microsoft Most Valuable Professional
Re: JavaScript SOAP Client Library su CodePlex
andrewz non è online. Ultima attività: 06/09/2008 15.05.59andrewz
Inserito il: 27 ottobre 2006 20.51
contributi / Top Poster / Community manager / ciclismo.sitiasp.it / Blog / 2785 messaggi dal 29 ott 2001 Istalla Microsoft Silverlight!
m.casati <m.casati> ha scritto:
Sì, il passaggio di oggetti complessi al Web Service è stato implementato nella versione 2.0 del SOAP Client.

Mii! Avevo testato il tutto con una versione vecchia! E non avevo visto quell'esempio! Mea culpa! Tutto ok!

Grazie Matteo, terrò d'occhio CodePlex per nuove feature!
Ciao!

Andrea Zani
Anche un orologio rotto segna per ben due volte al giorno l'ora esatta.

Vai a:
Torna al forum |   Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.


maltra - 821 pt
vladimiro - 582 pt
manuel0081 - 183 pt

Ultimi vincitori: fabrica, vladimiro, PeppeDotNet

Iscriviti anche tu e raccogli punti. Questo mese in palio VS 2008 + Windows Server 2008, ReShaper e 1 ebook!



COMMUNITY
ULTIMI MESSAGGI


IN EVIDENZA
MISC
Powered by .db Forums