C# aufrufen SOAP webservice von der console-Anwendung
Dies scheint sehr trivial, aber es funktioniert nicht für mich überhaupt. Ich bin versucht zu rufen soap web service
aus meiner c# - Konsolenanwendung. Die app ist gebaut für .net 4.5. Hier ist, was ich getan habe:
- Hinzugefügt, die service Referenz zu dem Projekt in visual studio 2013, indem es auf die wsdl. Er sucht die Service-und it-operations in Ordnung.
- Versuch zum erstellen einer Instanz des service, indem Sie Folgendes tun:
ServiceReference1 s = new ServiceReference1();
Bekomme ich folgenden Fehler code:
Project1.ServiceReference1 is a 'namespace' but is used like a 'type'
Irgendwelche Ideen? Ich habe gesucht für eine Weile und kann sich nicht in jemanden mit dem gleichen problem mit einer wirklichen Lösung. Es werden mehr Infos benötigt.
- wenn der name der Klasse ist ServiceRefrence1, und Sie riefen die eigentliche Referenz ServiceRefrence1 seine ServiceReference1.ServiceReference1
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie bereits Hinzugefügt, die service reference zum Projekt finden Sie in der Referenz. In diesem Fall werden Sie Links ein Standard-name "ServiceReference1'.
Nun wollen Sie zum aufrufen der web-service-Methoden, für diese müssen Sie instanziieren ein SOAPClient.
nun haben Sie Zugang zu der webmethods unter den "client" - Objekt.
Beim erstellen einer service reference in Visual Studio 2013 wird eine Proxyklasse generieren, die Sie verwenden können, um transparent Ruf in den Dienst. Die Standard-proxy-namespace ist
your_project_name.ServiceReference1
. Der Typ ist der name des service.Für ein Beispiel-service
http://localhost/YourService.svc
.Generieren Sie die Service-Referenz
ServiceReference1
von der Konsole ProjektConsoleApp
. Die erstellten Dateien haben den namespaceConsoleApp.ServiceReference1
. Der Typ istYourService
.zurück eine Instanz der proxy generiert Visual Studio. Dann werden Sie in der Lage, rufen Sie die service-Methoden.
<project file directory>\Service References\ServiceReference1\Reference.cs
sollte die proxy-Klasse definiert.