2009-09-18 14 views
9

Utilizzerò C# per leggere i dati da alcuni webservices. L'ho già fatto molte volte, ma a quei tempi ho avuto accesso diretto ai servizi web dalla mia macchina di sviluppo.Programmazione contro WSDL senza accesso al webservice attuale

In questo progetto sono appena stato inviato un file .wsdl e un paio di file .xsd per il servizio Web che hanno nella loro intranet locale.

Ho visto che posso usare "Aggiungi riferimento Web" e puntare direttamente al file .wsdl, in modo che venga creata una classe C#.

Ma come posso testarlo davvero? Mi piacerebbe restituire alcuni dati fittizi che posso visualizzare mentre sviluppo. Qualche consiglio per questa situazione?

risposta

15

Mock Webservice

Dalla sorgente sopra, un file con estensione cs può essere generato con l'apertura di un Visual Studio Command Prompt e l'esecuzione di qualcosa di simile al seguente:

wsdl/lingua: CS/namespace: Il tuo .Namespace.Here /out: Directory \ to \ Salva \ a \/protocollo: SOAP/serverinterface finalmente-your-WSDL-file-here.wsdl

+1

Bello. Grazie per questo link. – Brian

+2

Perfettamente ok per chiedere qui senza googling. Questo thread dovrebbe essere il primo hit quando qualcuno google! –

+0

Nessuna obiezione a questo. Questa non era una critica, solo un'informazione da cui proveniva il collegamento. – Henrik

0

E 'facile creare il proprio stub lato server. Supponendo che tu voglia farlo con WCF, quindi go here. È quindi possibile aggiungere una logica di base per far funzionare il client.

È inoltre possibile utilizzare le funzionalità del servizio Web legacy tramite WSDL tool's /Server option, sebbene si consiglia di utilizzare WCF.

1

Lo strumento svcutil.exe fornito con Windows SDK (disponibile in C: \ Programmi \ Microsoft SDK \ Windows \ v6.0 \ Bin) è uno strumento da riga di comando che genera i proxy client WCF. Ho trovato questo è un buon modo per interrogare un WSDL. Creerà un'interfaccia per il servizio e quindi una classe proxy che implementa tale interfaccia. È quindi possibile prendere in giro qualcos'altro che implementa tale interfaccia per facilitare il test.

0

Si potrebbe anche voler provare un prodotto come "Il violinista" (http://www.fiddler2.com)

Esso consente di catturare HTTP pacchetti (o HTTPS) e inviare un falso automatizzato file di risposta indietro come se il server aveva inviato la risposta . Lo uso per il mio progetto e fa miracoli quando il server di test va offline (che è spesso). Prendo un vecchio pacchetto di risposta, lo salvi come un file di testo, quindi lo rimando di nuovo e l'applicazione che sto costruendo non ha idea che non provenga dall'host reale.

Problemi correlati