Outils des services Web - Notes sur l'édition

1.0 Introduction
2.0 Spécifications et logiciels pris en charge
3.0 Modifications par rapport à la version précédente
4.0 Problèmes connus
   4.1 Explorateur de services Web
   4.2 Le serveur de surveillance TCP/IP ne fonctionne pas sous Linux
   4.3 Registre UDDI privé
   4.4 Interopérabilité avec l'environnement d'exécution IBM SOAP
   4.5 Génération d'un document WSDL à partir d'un fichier DADX
   4.6 Générateur JSP d'outils Web
   4.7 Scénario Hospital
   4.8 Utilisation d'Universal Test Client
   4.9 Plusieurs sorties admises dans certains cas avec les services Web DADX
   4.10 Préférence du pilote JDBC à utiliser sous Linux uniquement
   4.11 Nécessité de mettre à jour les fichiers exemple DAD si XML extender n'est pas installé dans le répertoire par défaut
   4.12 Remarques relatives aux services Web DADX
   4.13 Affichage incorrect des boîtes de dialogue de l'explorateur si Mozilla et Netscape sont en cours d'exécution
   4.14 Support de génération DADX
   4.15 Erreurs WSDL après importation d'un fichier de services Web de la version 4.0.x
   4.16 Problèmes lors de l'utilisation de Linux avec GTK
   4.17 Utilisation du serveur Tomcat avec l'environnement d'exécution AXIS
   4.18 Problèmes lors de l'utilisation de la ligne de commande de services Web
   4.19 Création de service Web sans serveur existant
   4.20 Génération d'une application exemple de services Web
   4.21 Importation de fichiers WSDL avec l'authentification de base HTTP
   4.22 Problèmes lors de l'utilisation de l'environnement d'exécution WebSphere v5.0.2
   4.23 Configuration d'un groupe DADX avec des informations de source de données
   4.24 Chargement du releveur de coordonnées client à l'aide d'Universal Test Client
   4.25 Préférences des ressources non observées
   4.26 Problèmes lors de l'utilisation de l'environnement d'exécution Apache Axis 1.0
   4.27 La compilation du fichier JSP exemple de service Web n'a pas abouti
   4.28 Erreur lorsque l'hôte local n'est pas défini
   4.29 Restrictions permanentes lors de l'utilisation de l'environnement d'exécution IBM SOAP
   4.30 Le client et le service Web utilisent des environnements d'exécution différents
   4.31 Sélection de Terminer dans l'assistant de client de service Web
   4.32 Aide-mémoire de services Web

1.0 Introduction

La fonction des outils des services Web permet de rechercher, créer et publier des services Web de bean Java, DADX, de bean enterprise et des services Web d'URL. Ce fichier Readme décrit les problèmes et restrictions connus, ainsi que les solutions associées aux fonctions des outils des services Web suivants :

2.0 Spécifications et logiciels pris en charge

Cette version des outils des services Web génère du code conforme aux spécifications suivantes :

Cette version des outils des services Web prend en charge :

Si vous lancez l'environnement de test WORF en dehors de l'espace de travail à l'aide de Mozilla, il recommandé d'utiliser au minimum la version 1.3.1 du navigateur. Les fichiers de description et les données générées après l'appel d'un service Web risquent de ne pas s'afficher correctement si vous utilisez une version antérieure du navigateur Mozilla.

L'environnement d'exécution DADX requiert DB2 7.2 fixpack 6 ou version ultérieure ou DB2 8.1 ou version ultérieure.

3.0 Modifications par rapport à la version précédente

Les fonctions suivantes ont été ajoutées dans les outils de services Web de la version 5.1 :

4.0 Problèmes connus

4.1 Explorateur de services Web

4.2 Le serveur de surveillance TCP/IP ne fonctionne pas sous Linux

Le serveur de surveillance TCP/IP ne fonctionne pas sous Linux. Toute tentative d'insertion d'un serveur de surveillance entre un service Web et un client de service Web (par exemple, les fichiers JSP de l'exemple de service Web, les fichiers JSP du bean Java des outils Web et Universal Test Client) a une incidence sur les communications établies entre le client et le service. Le client se bloque lors de la première réponse du service. Pour corriger cette erreur dans les pages JSP ou Universal Test Client,fermez tous les navigateurs, lancez un nouveau navigateur en dehors de WebSphere Studio et entrez l'URL appropriée pour l'exemple de pages JSP générées ou Universal Test Client.

Pour contrôler le trafic SOAP sous Linux, vous pouvez utiliser un autre outil de surveillance, tel que le tunnel TCP/IP fourni avec l'environnement d'exécution Apache SOAP, disponible à l'adresse http://ws.apache.org/soap/index.html.tool. Lancez cet outil et appelez une opération du client du service Web. Le trafic demande/réponse doit apparaître dans le tunnel. Toutefois, le client peut s'interrompre. Arrêtez le tunnel. Le client se débloque et l'opération peut s'exécuter. Relancez le tunnel avant d'effectuer l'appel suivant.

4.3 Registre UDDI privé

4.4 Interopérabilité avec l'environnement d'exécution IBM SOAP

4.5 Génération d'un document WSDL à partir d'un fichier DADX

4.6 Générateur JSP d'outils Web

Le pilote DB2 db2java.zip doit être ajouté au chemin d'accès aux classes WebSphere ws.ext.dirs. Pour ajouter db2java.zip, procédez comme suit :

  1. Accédez à la perspective Serveur (Fenêtre > Ouvrir la perspective > Serveur).
  2. Dans la sous-fenêtre Configuration de serveur, développez Serveur.
  3. Cliquez deux fois sur WebSphere v.4.0 Test Environment. L'éditeur d'instance s'affiche.
  4. Dans l'éditeur d'instance, cliquez sur l'onglet Chemins d'accès, puis cliquez sur Ajouter des fichiers JAR externes dans la section Chemin d'accès aux classes propre à WebSphere (ws.ext.dirs) pour ajouter /home/db2inst1/sqllib/java12/db2java.zip au chemin WebSphere.
  5. Sélectionnez Fichier > Sauvegarder (nom du fichier) pour sauvegarder les modifications, puis quittez l'éditeur d'instance.

Pour connaître les mises à jour apportées à la documentation du scénario Hospital, accédez à la page WebSphere Developer Domain et cliquez sur Library.

4.8 Utilisation d'Universal Test Client

Lors du lancement d'Unviversal Test Client à partir de l'assistant de services Web, l'URL du fournisseur JNDI correspond au port 2809, utilisé par défaut par WebSphere v5. Si vous utilisez un serveur WebSphere v4 ou si vous avez modifié le numéro de port, vous ne pourrez plus effectuer de recherches dans le répertoire JNDI. Si vous tentez d'accéder à ce répertoire, l'erreur suivante se produit :

IWAD0403E Impossible de construire l'arborescence JNDI : Interception de CORBA.COMM_FAILURE lors de la résolution du paramètre reference=WsnNameService initial.

La solution est la suivante :

  1. Cliquez deux fois sur le serveur utilisé. Les propriétés du serveur s'affichent.
  2. Sélectionnez l'onglet des ports.
  3. Copiez le port d'amorçage Orb.
  4. Ouvrez la fenêtre des propriétés JNDI dans le client de test universel.
  5. Collez le port d'amorçage dans la zone d'entrée de l'URL du fournisseur.

4.9 Plusieurs sorties admises dans certains cas avec les services Web DADX

Généralement, nos outils ne prennent pas en charge plusieurs sorties dans un service Web. Toutefois, dans le cas de services Web DADX, plusieurs sorties sont admises si la valeur true est affectée à la propriété d'utilisation du groupe de styles de document. Dans ce cas, lorsque la valeur true est attribuée à style de document, plusieurs sorties sont associées dans un seul document XML.

4.10 Préférence du pilote JDBC à utiliser sous Linux uniquement

Une nouvelle catégorie de préférences de services Web (Fenêtre > Préférences > Services Web) appelée Pilotes JDBC a été ajoutée. Bien que cette préférence soit disponible sur toutes les plateformes, elle est conçue pour être utilisée uniquement sous Linux. Sous Linux, il peut être difficile de déterminer l'emplacement du fichier JAR contenant les pilotes JDBC. C'est pourquoi, cette page de préférences a été ajouté afin que vous puissiez indiquer le fichier JAR à utiliser. Généralement, seul le code de validation DADX utilise ces informations relatives au fichier JAR.

4.11 Nécessité de mettre à jour les fichiers exemple DAD si XML extender n'est pas installé dans le répertoire par défaut

Les fichiers DAD se trouvant dans le répertoire répertoire_installation_WS\wstools\eclipse\plugins\com.ibm.etools.webservice_<version>\samples\DADX_examples doivent être modifiés afin de refléter votre configuration système particulière.

Au début du fichier, se trouve une ligne similaire à la ligne suivante :

<!DOCTYPE DAD SYSTEM "c:\dxx\dtd\dad.dtd">

Si XML extender a été chargé dans un autre répertoire que c:\dxx, alors cette chaîne doit être mise à jour afin de correspondre à l'emplacement réel. Cette remarque s'applique également aux machines Linux sur lesquelles l'emplacement est généralement /usr/IBMdb2xml.

4.12 Remarques relatives aux services Web DADX

4.13 Affichage incorrect des boîtes de dialogue de l'explorateur si Mozilla et Netscape sont en cours d'exécution

Il est possible que les boîtes de dialogue de l'explorateur de services Web ne s'affichent pas correctement si Mozilla et Netscape sont simultanément en cours d'exécution. Les boîtes de dialogue en incrustation comprennent les boîtes de dialogue Parcourir les documents WSDL et Parcourir la catégorie. Pour résoudre ce problème, utilisez soit Mozilla soit Netscape mais n'exécutez pas ces deux programmes simultanément.

4.14 Support de génération DADX

Bien que les fonctions définies par l'utilisateur soient répertoriées dans l'assistant Générer DADX, il n'est pas possible de générer de fichier DADX à partir de ces fonctions. La génération DADX peut uniquement être effectuée à partir de fichiers DAD, de procédures mémorisées et d'instructions SQL. La sélection d'une fonction UDF entraîne la génération d'un fichier squelette DADX simple.

4.15 Erreurs WSDL après importation d'un fichier de services Web de la version 4.0.x

Si vous avez importé un fichier de services Web à partir de la version 4.0, les messages d'erreur suivants peuvent s'afficher :

Erreur La section 'result' comporte une valeur 'anyElement' non valide définie pour son type. Les déclarations de type doivent désigner des valeurs valides définies dans un schéma.

Erreur Le composant 'return' comporte une valeur incorrecte 'findPatientResult' définie pour son élément. Les déclarations d'élément doivent désigner des valeurs valides définies dans un schéma.

Erreur La section 'response' comporte une valeur non valide 'findPatientResponse' définies pour son élément. Les déclarations d'élément doivent désigner des valeurs valides définies dans un schéma.

La solution est la suivante :

  1. Supprimez les fichiers WSDL.
  2. Générez à nouveau vos services Web en exécutant une nouvelle fois l'assistant de services Web.

4.16 Problèmes lors de l'utilisation de Linux avec GTK

4.17 Utilisation du serveur Tomcat avec l'environnement d'exécution AXIS

4.18 Problèmes lors de l'utilisation de la ligne de commande de services Web

4.19 Création de service Web sans serveur existant

4.20 Génération d'une application exemple de services Web

4.21 Importation de fichiers WSDL avec l'authentification de base HTTP

Lors de la génération de squelettes ou de clients à partit d'un fichier WSDL comportant des importations relatives et qui protégé par l'authentification de base HTTP, l'utilisateur voit un message d'erreur indiquant que le fichier WSDL ne peut pas être résolu même si l'ID utilisateur et le mot de passe corrects sont entrés. Le problème est dû au fait que l'ID utilisateur et le mot de passe permettent d'extraire uniquement le fichier WSDL d'origine et non les fichiers importés par ce dernier.

Pour résoudre ce problème, l'utilisateur peut tout d'abord télécharger le fichier WSDL et tous les fichiers importés par ce dernier dans le plan de travail puis générer un squelette ou un client à partir du fichier WSDL téléchargé.

4.22 Problèmes lors de l'utilisation de l'environnement d'exécution WebSphere v5.0.2

4.23 Configuration d'un groupe DADX avec des informations de source de données

Si le serveur WebSphere Application Server V5.0 est utilisé pour héberger un service Web DADX, alors le fichier group.properties du groupe DADX doit utiliser la propriété initialContextFactory suivante :

initialContextFactory=com.ibm.websphere.naming.WsnInitialContextFactory

De plus, il est nécessaire d'ajouter les éléments ci-dessous au fichier web.xml du projet contenant le groupe DADX. (En supposant que le nom JNDI de la source de données est jdbc/hospital.)

       <resource-ref id="ResourceRef_1058550453092">
              <res-ref-name>jdbc/hospital</res-ref-name>
              <res-type>javax.sql.DataSource</res-type>
              <res-auth>CONTAINER</res-auth>
              <res-sharing-scope>Shareable</res-sharing-scope>
       </resource-ref>
 

4.24 Chargement du releveur de coordonnées client à l'aide d'Universal Test Client

Lorsque le nom de la classe du bean Java du projet de service Web est identique au nom de la classe SEI du projet Web client, Universal Test Client ne peut pas pré-charger la classe du releveur de coordonnées client générée par l'environnement d'exécution WebSphere v5.0.2 ou Axis. Pour éviter ce problème, procédez comme suit :

  1. Supprimez le projet Web client de l'espace de travail
  2. Créez le projet Web client sous un EAR différent dans lequel nom du projet EAR doit précéder dans l'ordre alphabétique le nom du projet EAR de service. Par exemple, si le nom du projet EAR de service est "DefaultEAR", appelez le nouveau projet EAR "ClientEAR".
  3. Exécutez à nouveau l'assistant de service Web.

 

4.25 Préférences des ressources non observées

Les préférences de remplacement de fichier, de création de dossier et de réservation de fichier automatique ne sont pas observées lors de la création de services Web à l'aide de l'environnement d'exécution WebSphere v5.0.2 et Axis. La création de dossier est toujours autorisée et la réservation automatique de fichier n'est jamais activée.

Lors de l'utilisation de l'environnement d'exécution WebSphere v5.0.2, le fichier WSDL, les artefacts de déploiement et SEI (sérialiseurs et désérialiseurs) sont toujours remplacés. Les artefacts de développement (bean service, beans de type complexe, classe holder et helper) ne sont jamais remplacées. Toutefois, l'utilisateur obtient un message d'avertissement relatif aux descripteurs de déploiement s'ils existent. L'utilisateur peut cliquer sur OK pour remplacer les descripteurs de déploiement et poursuivre le scénario ou cliquer sur Annuler pour éviter que les descripteurs ne soient remplacés.

Lors de l'utilisation de l'environnement d'exécution Apache Axis 1.0, les émetteurs Axis régénèrent à chaque fois tous les fichiers Java serveur/client, deploy.wsdd et undeploy.wsdd. Le scénario de génération de WSDL2Java pour le service génère uniquement le fichier d'implémentation du squelette s'il n'existe pas déjà. Si cette implémentation existe déjà, elle ne sera pas remplacée.

4.26 Problèmes lors de l'utilisation de l'environnement d'exécution Apache Axis 1.0

4.27 La compilation du fichier JSP exemple de service Web n'a pas abouti

Lors de la génération de squelettes de services Web ou de proxy à partir d'un fichier WSDL qui utilise le même nom pour un élément <service> et pour un élément <port>, n'utilisez pas de fichiers JSP exemple en tant que client test. Les fichiers JSP exemple générés contiennent des erreurs et leur compilation n'aboutira pas. Une tentative d'exécution de fichiers JSP exemple sur le serveur génère une erreur 500 dans le navigateur indiquant que les fichiers JSP exemple ne peuvent être chargés et des exceptions sur la console du serveur indiquant que le conteneur de servlet n'a pas pu compiler les fichiers JSP exemple.

4.28 Erreur lorsque l'hôte local n'est pas défini

L'assistant de création des services Web peut échouer lors de la génération du fichier WSDL si le nom d'hôte "localhost" n'est pas défini sur le système. Le démarrage d'Universal Test Client peut également échouer si "localhost" n'est pas défini.

Sous Windows, l'entrée suivante doivent être définie dans le fichier [UNITE-INSTALLATION]\WINNT\system32\drivers\etc\hosts :

127.0.0.1 localhost

Sous Linux, l'entrée suivante doit être définie dans le fichier /etc/hosts :

127.0.0.1 localhost

4.29 Restrictions permanentes lors de l'utilisation de l'environnement d'exécution IBM SOAP

L'environnement d'exécution IBM SOAP doit être utilisé principalement pour des raisons de compatibilité amont. Il est fortement recommandé d'utiliser l'assistant de services Web avec l'environnement d'exécution pour toutes les opérations de production. Lors de l'utilisation de l'assistant de services Web avec l'environnement d'exécution IBM SOAP, l'utilisateur peut se trouver confronté aux restrictions permanentes suivantes :

4.30 Le client et le service Web utilisent des environnements d'exécution différents

Si vous créez un service Web à partir d'un bean Java ou d'un EJB en choisissant IBM SOAP en tant qu'environnement d'exécution de service et Apache Axis 1.0 en tant qu'environnement d'exécution client, vous pouvez obtenir l'erreur suivante :
Fichier WSDL non trouvé

Pour éviter ce problème, créez tout d'abord le service Web sans choisir de générer un proxy. Créez ensuite un client de service Web à partir du fichier WSDL généré.

4.31 Sélection de Terminer dans l'assistant de client de service Web

Lors de l'utilisation de l'assistant de client de service Web, si l'utilisateur clique sur le bouton Terminer dans la page Configuration d'environnement client, il obtient l'erreur :

"null" n'a pas de solution

La solution consiste à cliquer sur le bouton Suivant de cette page et de la page suivante puis de sélectionner Terminer.

4.32 Aide-mémoire de services Web

Dans l'aide-mémoire de création, de test et de validation d'un service Web compatible WS-I et dans l'aide-mémoire de création d'un service Web à partir d'un fichier WSDL, si vous utilisez le fichier HelloService.wsdl à partir du répertoire install_wsad/wstools/eclipse/plugins/com.ibm.etools.cs.wsdl.content_5.1/examples, modifiez l'emplacement de port du service en fonction de l'environnement d'exécution de la manière suivante :

Pour IBM Soap :

location="http://hotelocal:9080/HelloWorldSample/servlet/rpcrouter"

Pour l'environnement d'exécution Apache Axis ou WebSphere 5.0.2 :

location="http://hotelocal:9080/HelloWorldSample/services/Hello_Port"

Si vous importez votre propre fichier wsdl, assurez-vous que l'emplacement est défini correctement en fonction de l'environnement d'exécution sélectionné.

Retour au fichier Readme principal