Come usare un WSDL

Devo consumare un servizio Web. Mi hanno mandato il file WSDL. Cosa devo fare per aggiungerlo al mio sito Web e iniziare a usarlo come proxy. (Se lo metto su una directory virtuale può essere scoperto, ma mi garantisce la connessione con il vero servizio web?)

Avvio di Visual Studio 2008, creo un progetto Web (o un’app console, non importa), quindi fai clic con il pulsante destro del mouse sul progetto e seleziona “Aggiungi riferimento servizio” dal menu di scelta rapida.

Immettere il percorso e il nome del file nella casella e importare il WSDL: questo genererà un client WCF semplice e basilare da utilizzare. Dovresti trovare una class “YourservicenameClient” nel codice generato che dovrebbe avere metodi per ciascuno dei metodi definiti nel contratto WSDL.

Crea un’istanza del client e chiama i metodi che vuoi chiamare – è tutto quello che c’è!

YourServiceClient client = new YourServiceClient(); client.SayHello("World!"); 

Se è necessario specificare l’URL remoto (non utilizzando quello creato per impostazione predefinita), è ansible farlo facilmente nel costruttore del client proxy:

 YourServiceClient client = new YourServiceClient("configName", "remoteURL"); 

dove configName è il nome dell’endpoint da utilizzare (verranno utilizzate tutte le impostazioni tranne l’URL) e il remoteURL è una stringa che rappresenta l’URL a cui connettersi (anziché quella contenuta nella configurazione).

In studio visivo.

  • Crea o apri un progetto.
  • Fare clic con il tasto destro del mouse su project explorer.
  • Seleziona “Aggiungi referenze servizio”
  • Incolla l’indirizzo con WSDL che hai ricevuto.
  • Clicca OK.

Se non ci sono errori, dovresti essere in grado di vedere il riferimento del servizio nel browser degli oggetti e tutti i metodi correlati.

Utilizzare l’utilità WSDL.EXE per generare un proxy del servizio Web da WSDL.

Otterrai un lungo file sorgente C # che contiene una class simile a questa:

 ///  [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] [System.Web.Services.WebServiceBindingAttribute(Name="MyService", Namespace="http://myservice.com/myservice")] public partial class MyService : System.Web.Services.Protocols.SoapHttpClientProtocol { ... } 

Nel codice lato client, che consuma servizi Web:

  1. istanzia MyService.
  2. imposta la sua proprietà Url
  3. invocare metodi Web

Se si desidera aggiungere il riferimento wsdl nel progetto .Net Core , non esiste l’opzione “Aggiungi riferimento Web”.

Per aggiungere il riferimento wsdl, andare a Esplora soluzioni, fare clic con il pulsante destro del mouse sull’elemento del progetto Riferimenti e quindi fare clic sull’opzione Aggiungi servizio connesso .

inserisci la descrizione dell'immagine qui

Quindi fare clic su “Riferimento servizio Web WCF Microsoft”:

inserisci la descrizione dell'immagine qui

Immettere il percorso del file nella casella di testo URI e importare il WSDL:

inserisci la descrizione dell'immagine qui

Genererà un client WCF semplice e basilare e tu dovrai usarlo in questo modo:

 YourServiceClient client = new YourServiceClient(); client.DoSomething();