wsdl.exe Ergebnisse in „SOAP 1.1 Bindung wurde nicht gefunden“
-
05-07-2019 - |
Frage
Ich versuche, eine HTML Parsing Web-Service zu implementieren, wie in Kapitel 23 von ASP.NET Unleashed (1. Aufl.) Beschrieben und dieser MSDN-Artikel . So weit, ist es gut! Allerdings habe ich eine ärgerliche Warnung erhalten, wenn wsdl.exe mit der Klasse zu generieren:
Microsoft (R) Web Services Description Language Utility [Microsoft (R) .NET Framework, Version 2.0.50727.3038] Copyright (C) Microsoft Corporation. All rights reserved. Warning: This web reference does not conform to WS-I Basic Profile v1.1. SOAP 1.1 binding was not found: WS-I's Basic Profile 1.1 consists of implementation guidelines that recommend how a set of core Web services specifications should be used together to develop interoperable Web services. For the 1.1 Profile, those specifications are SOAP 1.1, WSDL 1.1, UDDI 2.0, XML 1.0 and XML Schema. For more details on the WS-I Basic Profile v1.1, see the specification at http://www.ws-i.org/Profiles/BasicProfile-1.1.html.
Ich mag die Spezifikation, wenn möglich anzupassen. Ich schaute auf dem empfohlen und fand ein paar Seiten auf w3. org, aber nicht ein konkretes Beispiel für das finden, was xML-Elemente ich brauche, um umfassen anzupassen.
Statt meine xml der Entsendung, werde ich nur sagen, die WSDL-Datei entspricht in etwa das, was in dem MSDN-Artikel verwendet wird (außer ich die ungültige URL für das XML-Schema auf w3.org durch den Zusatz „.dtd“ festgelegt).
Danke!
Lösung
Wsdl.exe
Verwendung von Standard SOAP als das Protokoll zu implementieren und in der Folge versucht, die Konformität mit dem Basisprofil zu überprüfen. Wie auch immer, wsdl.exe
behandelt diese und setzt nur eine Verwarnung. Wenn Sie die MSDN-Artikel-Datei überprüfen, werden Sie feststellen, dass die Bindung konfigurieren HttpGet verwenden Protokoll. Also, wenn Sie die Warnung zu unterdrücken möchten, führen
wsdl.exe /protocol:HttpGet <url or path>
Allerdings ist die resultierende Proxy-Klasse ist das gleiche mit dem vorherigen.
Side Hinweis: : Sie müssen keine URL beheben, die einen Namespace definiert, da sie nicht als URL verwendet werden, sondern als Kennung. Obwohl viele Namespaces wie URLs aussehen, müssen sie im Web nicht Punkt zu tatsächlichen Ressourcen. Der Namespace http://www.w3.org/2001/XMLSchema
wird von W3C definiert in XML-Schema-Empfehlung .