Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Mit der XML-Webdienstsuche wird der Prozess des Suchens und Abfragens von XML-Webdienstbeschreibungen bezeichnet, der den vorbereitenden Schritt für den Zugriff auf einen XML-Webdienst darstellt. Durch den Discoveryprozess können XML-Webdienstclients zur Entwurfszeit herausfinden, ob ein XML-Webdienst existiert, welche Fähigkeiten er hat und wie richtig mit ihm interagiert wird.
Die programmgesteuerte Suche kann aktiviert werden, wenn ein XML-Webdienst eine DISCO-Datei veröffentlicht, die ein XML-Dokument darstellt. Diese Datei kann Links zu anderen Discoverydokumenten, XSD-Schemas und Dienstbeschreibungen enthalten. Alternativ können mit ASP.NET erstellte XML-Webdienste automatisch mit der Fähigkeit ausgestattet werden, ein erzeugtes Discoverydokument zur Verfügung zu stellen. Ein Discoverydokument wird automatisch für einen XML-Webdienst erstellt, wenn über einen URL darauf zugegriffen wird, in dessen Abfragezeichenfolge ?DISCO angegeben ist. Wenn der URL für einen XML-Webdienst beispielsweise www.contoso.com/getquote.asmx lautet, wird automatisch ein Discoverydokument mit dem URL www.contoso.com/getquote.asmx?DISCO erstellt.
So aktivieren Sie die Suche für einen XML-Webdienst
Erstellen Sie in Ihrem bevorzugten Editor ein XML-Dokument, und fügen Sie in der ersten Zeile das Tag <?xml version="1.0" ?> hinzu.
Fügen Sie innerhalb des XML-Dokuments ein <discovery>-Element hinzu, z. B.
<disco:discovery xmlns:disco="https://schemas.xmlsoap.org/disco/"></disco:discovery>Fügen Sie innerhalb des <discovery>-Elements Verweise auf Dienstbeschreibungen, XSD-Schemas und sonstige Discoverydokumente hinzu.
Sie können beliebig viele Verweise hinzufügen, um sie öffentlich bereitzustellen. Dienstbeschreibungsverweise werden in einem Discoverydokument festgelegt, indem ein <contractRef>-Element mit dem XML-Namespace
https://schemas.xmlsoap.org/disco/scl/hinzugefügt wird. Entsprechend werden Verweise auf andere Discoverydokumente und XSD-Schemas festgelegt, indem die XML-Elemente <discoveryRef> bzw. <schemaRef> hinzugefügt werden. Für XSD-Schemaverweise muss der XML-Namespacehttps://schemas.xmlsoap.org/disco/schemaangegeben werden. Für alle drei Typen von referenzierten Dokumenten legen Sie den Speicherort des Dokuments über das ref-Attribut fest. Das folgende Codebeispiel enthält Verweise auf ein Discoverydokument, eine Dienstbeschreibung und ein XSD-Schema.<?xml version="1.0"?> <discovery xmlns="https://schemas.xmlsoap.org/disco/"> <discoveryRef ref="/Folder/Default.disco"/> <contractRef ref="http://MyWebServer/UserName.asmx?WSDL" docRef="Service.htm" xmlns="https://schemas.xmlsoap.org/disco/scl/"/> <schemaRef ref="Schema.xsd" xmlns="https://schemas.xmlsoap.org/disco/schema/"/> </discovery>Verweise können relativ zum Verzeichnis sein, in dem das Discoverydokument gespeichert ist, wie im discoveryRef-Element dargestellt, oder relativ zu einem URI, wie im contractRef-Element dargestellt.
Geben Sie das Discoverydokument an einen Webserver weiter, indem Sie es in ein virtuelles Verzeichnis auf dem Webserver kopieren.
Wenn Sie es potenziellen Benutzern ermöglichen möchten, zu einem URL zu navigieren, indem sie eine IIS-Anwendung und kein Dokument angeben, können Sie optional einen Link zur Standardseite der IIS-Anwendung hinzufügen. Dies hat den Vorteil, dass potenzielle Benutzer den Namen der Discoverydokumente nicht kennen müssen. Anschließend können Benutzer URLs, wie den folgenden, im Discoveryprozess angeben:
http://MyWebServer/MyWebApplicationWenn die Standardseite für die Webanwendung eine HTML-Seite ist:
Fügen Sie im <head>-Tag der Standardwebseite für den Webserver einen Link zum Discoverydokument hinzu. Wenn Sie das Discoverydokument z. B.MyWebService.disconennen und es im selben Verzeichnis ablegen wie die Standardseite, müssen Sie das folgende Tag in die Standardwebseite einfügen:<HEAD> <link type='text/xml' rel='alternate' href='MyWebService.disco'/> </HEAD>Wenn die Standardseite für die Webanwendung ein XML-Dokument ist:
Fügen Sie im <head>-Tag der Standardwebseite für den Webserver einen Link zum Discoverydokument hinzu. Wenn Sie das Discoverydokument z. B.
MyWebService.disconennen und es im selben Verzeichnis ablegen wie die Standardseite, müssen Sie das folgende Tag am Anfang der Standardwebseite einfügen:<?xml-stylesheet type="text/xml" alternate="yes" href="MyWebService.disco" ?>Wenn Sie Visual Studio .NET verwenden, können Sie wahlweise die dynamische Suche aktivieren, damit Clientanwendungen von XML-Webdiensten die auf einem Webserver verfügbaren XML-Webdienste ermitteln können, ohne ein neues Discoverydokument zu erstellen. Wenn die dynamische Suche aktiviert wurde, geben Clientanwendungen im Dialogfeld Webverweis hinzufügen einen URL an, der auf eine Datei mit einem VSDISCO-Abschnitt verweist, z. B. www.contoso.com/default.vsdisco, und kein bestimmtes Discoverydokument.
Ändern Sie zum Aktivieren der dynamischen Suche für einen Webserver machine.config und fügen Sie das folgende <add>-Element hinzu. Ignorieren Sie die Zeilenumbrüche im folgenden Beispiel, da sich das type-Attribut auf einer Zeile befinden muss.
<configuration> <system.web> <httpHandlers> <add verb="*" path="*.vsdisco" type="System.Web.Services.Discovery.DiscoveryRequestHandler, System.Web.Services, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false"/> </httpHandlers> </system.web> </configuration>**Hinweis **Bei aktivierter dynamischer Suche können alle XML-Webdienste und Discoverydokumente ermittelt werden, die sich auf dem Webserver unterhalb des angeforderten URLs befinden. Gehen Sie daher beim Aktivieren der dynamischen Suche mit Bedacht vor, da unbeabsichtigt vertrauliche Daten offen gelegt werden können, wenn der Server sich nicht in einem Netzwerk mit einem Firewall und anderen Sicherheitsfeatures befindet.
Siehe auch
Weitergeben von XML-Webdiensten | Konfigurationsoptionen für mit ASP.NET erstellte XML-Webdienste | Erstellen von XML-Webdiensten mit ASP.NET