Ich muss einen Webdienst nutzen. Sie haben mir die WSDL-Datei geschickt. Was soll ich tun, um es meiner Website hinzuzufügen und es als Proxy zu verwenden? (Wenn ich es in ein virtuelles Verzeichnis stelle, kann es entdeckt werden, aber gewährt es mir die Verbindung mit dem realen Webdienst?)
c#
web-services
wsdl
jmayor
quelle
quelle
Antworten:
Ich würde Visual Studio starten, ein Webprojekt erstellen (oder eine Konsolen-App - spielt keine Rolle).
Für .Net Standard:
Wenn kein Fehler auftritt, sollten Sie einfach den NameSpace festlegen, den Sie für den Zugriff auf den Dienst verwenden möchten. Dieser wird dann für Sie generiert.
Für .Net Core
Jede der oben genannten Methoden generiert einen einfachen, sehr einfachen WCF-Client, den Sie verwenden können. Sie sollten im generierten Code eine "YourservicenameClient" -Klasse finden.
Zu Referenzzwecken befindet sich die generierte cs-Datei in Ihrem Obj / debug (oder release) / XsdGeneratedCode, und Sie finden die DLLs weiterhin im TempPE-Ordner.
Die erstellten Dienste sollten Methoden für jede der im WSDL-Vertrag definierten Methoden haben.
Instanziieren Sie den Client und rufen Sie die Methoden auf, die Sie aufrufen möchten - das ist alles, was es gibt!
Wenn Sie die Remote-URL angeben müssen (nicht die standardmäßig erstellte), können Sie dies einfach im Konstruktor des Proxy-Clients tun:
Wo
configName
ist der Name des zu verwendenden Endpunkts (Sie werden alle Einstellungen außer der URL verwenden), und diesremoteURL
ist eine Zeichenfolge, die die URL darstellt, zu der eine Verbindung hergestellt werden soll (anstelle der in der Konfiguration enthaltenen).quelle
Im visuellen Studio.
Wenn keine Fehler vorliegen, sollten Sie die Dienstreferenz im Objektbrowser und alle zugehörigen Methoden anzeigen können.
quelle
Verwenden Sie das Dienstprogramm WSDL.EXE , um einen Webdienst-Proxy aus WSDL zu generieren.
Sie erhalten eine lange C # -Quelldatei, die eine Klasse enthält, die folgendermaßen aussieht:
In Ihrem clientseitigen Code, der Webdienste verbraucht:
quelle
Wenn Sie eine WSDL-Referenz in ein .Net Core- Projekt einfügen möchten , gibt es keine Option " Webreferenz hinzufügen ".
Um die WSDL-Referenz hinzuzufügen, gehen Sie zum Projektmappen-Explorer, klicken Sie mit der rechten Maustaste auf das Projektelement Referenzen und klicken Sie dann auf die Option Verbundenen Dienst hinzufügen .
Klicken Sie dann auf "Microsoft WCF-Webdienstreferenz":
Geben Sie den Dateipfad in das URI-Textfeld ein und importieren Sie die WSDL:
Es wird ein einfacher, sehr einfacher WCF-Client generiert, und Sie können ihn folgendermaßen verwenden:
quelle