Ich möchte LinqPad mit einem WCF-Webdienst verbinden, der seine WSDL-Informationen an einem URI des Formulars http://server.example.com/Product/Service/Version/Soap11?wsdl
verfügbar macht. Ich kann diesen URI erfolgreich als Visual Studio WCF-Webdienst-Referenz hinzufügen, und es funktioniert auch mit WcfTestClient.Verbinden Sie LinqPad mit WCF-Webdienst mit? Wsdl URI-Abfrage
Der tatsächliche Endpunkt des Dienstes beim Herstellen einer Verbindung zu Aufrufmethoden ist http://server.example.com/Product/Service/Soap11
.
Wenn ich versuche, den Webdienst als LinqPad-Verbindung hinzuzufügen, wenn ich die URI des Web-Service einschließlich der ?wsdl
Abfrage angeben, erhalte ich eine LinqPad-Fehlermeldung "ArgumentException: Expected eine absolute, wohlgeformte http URL ohne Abfrage oder Fragment. Parametername: serviceRoot ". Wenn ich die Abfrage ?wsdl
weglassen, erhalte ich stattdessen eine Antwort.
(Ich bekomme die gleiche 400 Bad Request
Antwort, wenn ich versuche, eine Visual Studio Web Service-Referenz zu erstellen, oder fügen Sie den Dienst zu WcfTestClient, ohne ?wsdl
an den URI anhängen).
Gibt es irgendetwas, was ich am Client ändern kann, damit LinqPad erfolgreich eine Verbindung zu diesem Webdienst herstellt? Oder muss ich mich mit der Konfiguration am Server-Ende herumschlagen? Ich kontrolliere nicht die Web-Dienste, mit denen ich mich verbinden möchte, aber ich kann vielleicht einige Konfigurationsdateien auf dem Server optimieren, wenn ich muss.
Danke für die Empfehlung. Dies ist definitiv schneller zu laufen als der manuelle Prozess in meiner eigenen Antwort. – Hydrargyrum
Ich habe dies gegen einen WCF-Dienst versucht und es hat nichts generiert. Ich habe folgende Fehler: Warnung> Diese Webreferenz entspricht nicht dem WS-I Grundprofil v1.1. Warnung> SOAP 1.1-Bindung wurde nicht gefunden: Das WS-I-Basisprofil 1.1 enthält Implementierungsrichtlinien, die empfehlen, wie eine Reihe von Webservicespezifikationen zusammen verwendet werden sollten, um interoperable Webdienste zu entwickeln. Für das 1.1-Profil lauten diese Spezifikationen SOAP 1.1, WSDL 1.1, UDDI 2.0, XML 1.0 und XML-Schema. Fehler> Es wurden keine Klassen generiert. > Kann keine Verbindung herstellen. –
@MikeK: Die Verwendung der Bindung "basicHttpBinding" löste das Problem für mich und ich konnte einen Dienst hinzufügen. Stellen Sie außerdem sicher, dass Sie aus der Liste, die Sie erhalten (alle verfügbaren Bindungen), diejenige ausgewählt haben, die mit "BasicHttpBinding_" beginnt. – Kamarey