WSDL-Dateien mit einem URL veröffentlichen

Sie können eine WSDL-Datei (Web Services Description Language) über einen URL veröffentlichen.

Vorbereitende Schritte

Bevor Sie eine WSDL-Datei über einen URL veröffentlichen können, müssen Sie sicherstellen, dass die Web-Service-fähige Anwendung installiert wurde und ausgeführt wird.

Die mit dem Element <wsdl-file> in der Datei webservices.xml referenzierten Dateien können andere WSDL- oder XSD-Dateien (XML Schema Definition) importieren. In der Regel werden alle WSDL- oder XSD-Dateien bei Verwendung von Enterprise JavaBeans (EJBs) ursprünglich in das Verzeichnis META-INF/wsdl und bei Verwendung von JavaBeans in das Verzeichnis WEB-INF/wsdl gestellt. Wenn Ihre WSDL- oder XSD-Dateien nicht in eines dieser Verzeichnisse gestellt werden, werden die im Element <wsdl-file> referenzierte Datei und die zugehörigen importierten Dateien für die Veröffentlichung in das Verzeichnis wsdl kopiert.

Es gibt zwei Formen von URL-Abfragezeichenfolgen. Bei der einen wird die Zeichenfolge /wsdl an den Service angefügt, und es werden nur HTTP- und JMS-Bindungen zurückgegeben. Bei der zweiten wird die Zeichenfolge /extwsdl an den Servicenamen angefügt, und es wird die erweiterte WSDL-Datei einschließlich HTTP-, JMS- und EJB-Bindungen zurückgegeben. Wenn eine WSDL-Datei nur EJB-Bindungen enthält und die /wsdl-Abfrage verwendet wird, erscheint eine Fehlernachricht im Browser, die besagt, dass keine HTTP- oder JMS-Bindungen in der WSDL-Datei vorhanden sind. In der Fehlernachricht wird empfohlen, stattdessen die /extwsdl-Abfrage zu verwenden. Wird eine WSDL-Datei mit einem URL veröffentlicht, muss die Anwendung ein Webmodul besitzen, das entweder von der Anwendung oder in Form eines HTTP-Routermoduls bereitgestellt wurde. Wenn eine EJB-Anwendung eine WSDL-Datei enthält, in der sich nur JMS- oder EJB-Web-Service-Bindungen befinden, können Sie mit dem Befehl endptEnabler ein HTTP-Routermodul zur Anwendung hinzufügen.

Anmerkung: Für das Veröffentlichen werden nur HTTP-URLs unterstützt.

Informationen zu diesem Vorgang

Gehen Sie wie folgt vor, um eine WSDL-Datei mit einem URL zu veröffentlichen:

Vorgehensweise

  1. Rufen Sie die übergeordnete WSDL-Datei ab. Die übergeordnete WSDL-Datei ist die WSDL-Datei, die vom Element <wsdl-file> in der Datei webservices.xml definiert wird.

    Jeder Web-Service hat eine Endpunktadresse wie http://example.com/services/stockquote. Sie können die übergeordnete WSDL-Datei (die vom Element <wsdl-file> in der Datei webservices.xml definiert wird) abrufen, indem Sie der Endpunktadresse die Zeichenfolge "/wsdl" oder "/wsdl/" anfügen, z. B. http://example.com/services/stockquote/wsdl.

  2. Rufen Sie die importierten WSDL-Dateien ab. Wenn die übergeordnete WSDL-Datei weitere WSDL- oder XSD-Dateien importiert, können Sie diese importierten Dateien abrufen, indem Sie an den zum Abrufen der übergeordneten WSDL-Datei verwendeten URL den relativen Pfad anhängen. Dies gilt auch für WSDL-Dateien, die andere Dateien importieren. Dieser Prozess ist mit der Verwendung relativer Hyperlinks in HTML-Dokumenten vergleichbar. Wenn ein HTML-Dokument einen Hyperlink zu anderen Dokumenten enthält, wird der relative Pfad angehängt, um den URL für den Zugriff auf die verlinkten Dokumente zu erstellen.

Beispiel

Nehmen wir an, Sie haben eine Anwendung mit der folgenden Verzeichnisstruktur:
<module-root>/
	WEB-INF/
				webservices.xml    /* das Element <wsdl-file> zeigt auf "WEB-INF/wsdl/fooImpl.wsdl"*/
		web.xml
		ibm-webservices-bnd.xml

		wsdl/
						fooImpl.wsdl   /* Importiert die Datei foo.wsdl, die eine Schnittstellen-WSDL ist */
			foo.wsdl /* Typdefinition für die Schnittstelle */

Wenn die SOAP-Adresse für den Service foo http://examples.com:9080/services/foo ist, kann die übergeordnete WSDL des Service foo ganz einfach mit http://examples.com:9090/services/foo/wsdl oder http://examples.com:9090/services/foo/wsdl/ abgerufen werden. Der URL wird zu http://examples.com:9090/services/foo/wsdl/fooImpl.wsdl umbeleitet, wobei fooImpl.wsdl der Name der übergeordneten WSDL-Datei ist.

Da die Datei fooImpl.wsdl die Importanweisung <import namespace="http://examples.com/foo" location="a/b/foo.wsdl> enthält, verwenden Sie den URL http://examples.com:9090/services/foo/wsdl/a/b/foo.wsdl, um die Datei foo.wsdl abzurufen.


Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_urlwsdl
Dateiname:twbs_urlwsdl.html