Publication de fichiers WSDL à l'aide d'une adresse URL

Vous pouvez publier un fichier WSDL (Web Services Description Language) à l'aide d'une URL.

Avant de commencer

Pour publier un fichier WSDL via une URL, assurez-vous que l'application activée par les services Web est installée et en cours d'exécution.

Les fichiers référencés par l'élément <wsdl-file> dans webservices.xml peuvent importer d'autres fichiers WSDL ou XSD (XML Schema Definition, langage de définition de schéma XML). En général, tous les fichiers WSDL ou XSD sont initialement placés dans le répertoire META-INF/wsdl en cas d'utilisation d'EJB (JavaBeans) ou dans le répertoire WEB-INF/wsdl en cas d'utilisation de Java™. Si vos fichiers WSDL ou XSD ne se trouvent pas dans l'un de ces répertoires, le fichier référencé par l'élément <wsdl-file> et ses fichiers importés sont copiés dans le répertoire wsdl à des fins de publication.

Il existe deux formes différentes de chaînes de requête d'URL. La première ajoute /wsdl à la suite du service et renvoie seulement les liaisons HTTP et JMS. La seconde ajoute /extwsdl à la suite du service et renvoie le fichier WSDL étendu, dans lequel figurent les liaisons HTTP, JMS et EJB. Si un fichier WSDL contient exclusivement des liaisons d'EJB et que la requête /wsdl est utilisée, un message d'erreur s'affiche dans le navigateur, indiquant que le fichier WSDL ne contient pas de liaison HTTP ou JMS. Ce message d'erreur conseille d'utiliser la requête /extwsdl à la place. La publication d'un fichier WSDL à l'aide d'une URL exige que l'application comporte un module Web fourni soit par l'application elle-même, soit sous la forme d'un module routeur HTTP. Si une application EJB contient un fichier WSDL dans lequel figurent seulement des liaisons JMS ou EJB, la commande endptEnabler peut être utilisée pour ajouter un module routeur HTTP à cette application.

Remarque : Seules les URL HTTP sont acceptées pour la publication.

Pourquoi et quand exécuter cette tâche

Pour publier un fichier WSDL à l'aide d'une adresse URL, procédez comme suit :

Procédure

  1. Extrayez le fichier WSDL le plus externe. Le fichier WSDL le plus externe est celui défini par l'élément <wsdl-file> dans le fichier webservices.xml.

    Chaque service possède une adresse de point de contact, par exemple http://example.com/services/stockquote. Vous pouvez extraire le fichier WSDL le plus externe (défini par l'élément <wsdl-file> dans le fichier webservices.xml) en ajoutant la chaîne "/wsdl" ou "/wsdl/" à l'adresse du noeud final, par exemple,http://example.com/services/stockquote/wsdl.

  2. Extrayez les fichiers WSDL importés. Lorsque le fichier WSDL le plus externe importe d'autres fichiers WSDL ou XSD, ces fichiers importés peuvent être extraits en ajoutant le chemin d'accès relatif à l'URL qui est utilisée pour extraire le fichier WSDL le plus externe. Ceci est également vrai pour les fichiers WSDL qui importent d'autres fichiers. Cette procédure est comparable à l'utilisation de liens hypertexte relatifs dans des documents HTML (HypterText Markup Language). Si un document HTML contient un lien hypertexte à d'autres documents, le chemin d'accès relatif est ajouté pour créer l'URL permettant d'accéder aux documents hyperliés.

Exemple

Supposons que vous disposiez d'une application ayant l'arborescence suivante :
<module-root>/
	WEB-INF/
		webservices.xml    /* l'élément <wsdl-file> pointe sur "WEB-INF/wsdl/fooImpl.wsdl"*/
		web.xml
		ibm-webservices-bnd.xml

		wsdl/
			fooImpl.wsdl   /* importe foo.wsdl qui est une interface wsdl */
			foo.wsdl /* définition de type pour l'interface */

Si l'adresse SOAP pour le service foo est http://examples.com:9080/services/foo, le moyen le plus simple pour extraire le WSDL le plus externe du service est d'utiliser la forme http://examples.com:9090/services/foo/wsdl ou http://examples.com:9090/services/foo/wsdl/. L'URL est redirigée vers http://examples.com:9090/services/foo/wsdl/fooImpl.wsdl, où fooImpl.wsdl est le nom du fichier WSDL le plus externe.

Comme le fichier fooImpl.wsdl comporte l'importation <import namespace="http://examples.com/foo" location="a/b/foo.wsdl>, utilisez l'URL http://examples.com:9090/services/foo/wsdl/a/b/foo.wsdl pour obtenir le fichier foo.wsdl.


Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_urlwsdl
Nom du fichier : twbs_urlwsdl.html