Ich möchte die WSDL-Datei für einen Webservice erhalten und das einzige, was ich habe, ist die URL (wie webservice.example / foo).
Wenn ich die URL direkt verwende, wird nur eine Fehlerantwort geliefert.
Antworten:
Durch Postfixieren der URL mit ?WSDL
Wenn die URL zum Beispiel lautet:
http://webservice.example:1234/foo
Sie nutzen:
http://webservice.example:1234/foo?WSDL
Und die wsdl wird geliefert.
WSDL
(Web Service Description Language
) von einer Webdienst-URL abzurufen.Ist über SOAP Web Services möglich:
http://www.w3schools.com/xml/tempconvert.asmx
Um die WSDL zu erhalten, müssen wir nur hinzufügen ?WSDL
, zum Beispiel:
Die WSDL kann nur abgerufen werden, wenn der Webservice für die Bereitstellung konfiguriert ist. Dazu müssen Sie ein serviceBehavior angeben und httpGetEnabled aktivieren:
<serviceBehaviors>
<behavior name="BindingBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
Wenn auf den Webservice nur über https zugegriffen werden kann, müssen Sie http s GetEnabled anstelle von httpGetEnabled aktivieren.
Um die WSDL mithilfe der Developer-Eingabeaufforderung für Visual Studio von einer URL herunterzuladen , führen Sie sie im Administratormodus aus und geben Sie den folgenden Befehl ein:
svcutil /t:metadata http://[your-service-url-here]
Sie können jetzt die heruntergeladene WSDL in Ihrem Projekt nach Belieben verwenden.