Implementazione di un client SOAP in C # con WCF e .NET 4.0

Ho difficoltà a iniziare con WCF in .NET 4.0. Questa è la mia situazione:

Ho creato un piccolo server SOAP in PHP. Ho un progetto C # in cui voglio collegarmi a questo server e avviare la comunicazione SOAP.

Il mio problema è che non ho idea di come farlo in C #. Non riesco a trovare la giusta introduzione a WCF. Ci sono modi per farlo. Ma non riesco a trovare le classi e i riferimenti giusti da aggiungere al mio progetto C #. Le esercitazioni sono come ottenere ciò in C #? Ho cercato molto e non ho trovato nulla che mi abbia aiutato.

Voglio caricare il WSDL dal mio server SOAP in fase di esecuzione, effettuare la richiesta SOAP, recuperare la risposta ed eseguire. Ma dove posso iniziare? Il sito MSDN su WCF mi confonde di più.

Modifica : Probabilmente non è necessario recuperare il file WSDL in fase di esecuzione. Quindi non è più necessario.
Ho usato svcutil per creare la class e incorporarla nel mio progetto. Non sono ancora riuscito a testarlo, perché ho qualche problema con il database MySQL (È in esecuzione e accessibile dallo strumento a riga di comando mysql o mysqladmin, ma non riesco a collegarmi ad esso con nessun altro programma …) . Ti riporto non appena so se funziona.

Modifica 2 : ho seguito l’approccio di Kev e alla fine ha funzionato molto bene. Il mio ultimo problema è stato che ho usato la class di servizio in una DLL. Avevo bisogno dell’app.config nel programma che usava anche la DLL. Dopo che l’ho fatto, ha funzionato bene.

Il modo più rapido per farlo è fare clic con il tasto destro del mouse su “Aggiungi riferimento servizio” nel progetto del cliente in Riferimenti. Puntare il dialogo nella posizione del WSDL e fare clic su Vai:

inserisci la descrizione dell'immagine qui

L’URL che ho usato era per lo stile di un riferimento al servizio .NET, dovrai sostituirlo con qualsiasi cosa il tuo servizio PHP SOAP usi per esporre il suo WSDL.

In questo modo verrà generato un proxy lato client che è ansible creare un’istanza per comunicare con il servizio web.

Per accedere al servizio puoi fare qualcosa di simile (anche se la tua specifica implementazione non sarà la stessa):

MyService.MyWebServiceSoapClient ws = new MyService.MyWebServiceSoapClient(); string result ws.DoThing(); 

Prestare particolare attenzione alla parte SoapClient del nome della class proxy, che viene aggiunta al nome del nome del servizio soap dal generatore del codice proxy.

Il generatore di proxy creerà anche tutta la configurazione necessaria nel tuo file web.config o app.config .