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 Limitations
   4.1 Impossible d'exécuter l'exemple de gestion de la chaîne logistique globale
5.0 Problèmes connus
   5.1 Explorateur de services Web
   5.2 Interopérabilité avec le contexte d'exécution IBM SOAP
   5.3 Génération d'un document WSDL à partir d'un fichier DADX
   5.4 Générateur JSP d'outils Web
   5.5 Utilisation du client de test universel
   5.6 Plusieurs sorties autorisées dans certains cas avec les services Web DADX
   5.7 La préférence de pilote JDBC ne doit être utilisée que sur Linux
   5.8 Nécessité de mettre à jour les fichiers exemple DAD si XML extender n'est pas installé dans le répertoire par défaut
   5.9 Problèmes liés aux services Web DADX
   5.10 Prise en charge de la génération DADX
   5.11 Erreurs WSDL à l'issue de l'importation d'un fichier de services Web à partir de la version 4.0.x
   5.12 Incidents lors de l'utilisation de la ligne de commande des services Web
   5.13 Création d'un service Web sans serveur existant
   5.14 Génération d'un exemple d'application de services Web
   5.15 Importation de fichiers WSDL avec l'authentification HTTP de base
   5.16 Incidents lors de l'utilisation de l'environnement d'exécution WebSphere v5.0.2
   5.17 Configuration d'un groupe DADX avec des informations relatives à la source de données
   5.18 Chargement d'un releveur de coordonnées de client à l'aide du client de test universel
   5.19 Préférences des ressources non respectées
   5.20 Incidents lors de l'utilisation du contexte d'exécution Apache Axis 1.0
   5.21 Echec de la compilation de l'exemple de fichier JSP de service Web
   5.22 Incident avec la ligne de commande des services Web lorsque la langue allemande est utilisée
   5.23 Erreur lorsque localhost n'est pas défini
   5.24 Limitations permanentes lors de l'utilisation du contexte d'exécution IBM SOAP
   5.25 Le service Web et le client utilisent des contextes d'exécution différents
   5.26 Cliquer sur Fin dans l'assistant Client de services Web
   5.27 Aide-mémoire des 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

L'explorateur de services Web prend en charge les navigateurs Web suivants :

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 ce qui suit :

Si vous lancez l'environnement de test WORF en dehors du plan de travail à l'aide de Mozilla, une version de Mozilla 1.3.1 au moins est recommandée. La sortie de l'appel de votre service Web et les fichiers de description peuvent ne pas être rendus correctement dans les versions précédentes du navigateur Mozilla.

Le contexte d'exécution DADX nécessite DB2 7.2 Fix Pack 6 ou supérieur, ou DB2 8.1 ou une version supérieure.

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

Les fonctions suivantes sont nouvelles dans les outils des services Web de la version 5.1 :

4.0 Limitations

4.1 Impossible d'exécuter l'exemple de gestion de la chaîne logistique globale

L'exemple de gestion de la chaîne logistique globale ne fonctionne pas sur WAS Express.

5.0 Problèmes connus

5.1 Explorateur de services Web

5.2 Interopérabilité avec le contexte d'exécution IBM SOAP

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

5.4 Générateur JSP d'outils Web

Lors du lancement du client de test universel à 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.

Pour remédier à cette situation :

  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.

5.6 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.

5.7 La préférence de pilote JDBC ne doit être utilisée que sur Linux

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.

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

The DAD files located in the WSinstall_dir\wstools\eclipse\plugins\com.ibm.etools.webservice_<version>\samples\DADX_examples directory may need to be modified to reflect your particular system configuration.

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 machine Linux sur lesquelles l'emplacement est généralement /usr/IBMdb2xml.

5.9 Problèmes liés aux services Web DADX

5.10 Prise en charge de la génération DADX

Bien que les fonctions définies par l'utilisateur soient énumérées dans l'assistant de génération DADX, il n'existe actuellement pas de prise en charge de la génération de DADX à partir des fonctions définies par l'utilisateur. La prise en charge existante est limitée à la génération DADX à partir de fichiers DAD, de procédures stockées et d'instructions SQL. La sélection d'une fonction UDF générera un simple fichier squelette DADX.

5.11 Erreurs WSDL à l'issue de l'importation d'un fichier de services Web à partir de 4.0.x

Si vous avez importé un fichier de services Web à partir de 4.0.x, les messages d'erreur suivants peuvent être émis :

Erreur Le composant 'result' comporte une valeur incorrecte 'anyElement' 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 Le composant 'response' comporte une valeur incorrecte 'findPatientResponse' définie pour son élément. Les déclarations d'élément doivent désigner des valeurs valides définies dans un schéma.

Pour remédier à cette situation :

  1. Supprimez les fichiers WSDL.
  2. Régénérez vos services Web en lançant de nouveau l'assistant de services Web.

5.12 Incidents lors de l'utilisation de la ligne de commande des services Web

5.13 Création de services Web sans serveur existant

5.14 Génération d'un exemple d'application de services Web

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

Lors de la génération de squelettes ou de clients à partir d'un fichier WSDL contenant des importations relatives et protégé par l'authentification HTTP de base, l'utilisateur voit s'afficher 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 spécifiés. L'incident est dû au fait que l'ID utilisateur et le mot de passe ne sont utilisés que pour extraire le fichier WSDL d'origine, mais pas les fichiers qu'il importe.

Pour résoudre cet incident, l'utilisateur peut dans un premier temps télécharger dans le plan de travail le fichier WSDL et tous les fichiers qu'il importe, puis générer un squelette ou un client à partir du fichier WSDL téléchargé.

5.16 Incidents lors de l'utilisation de l'environnement d'exécution WebSphere v5.0.2

5.17 Configuration d'un groupe DADX avec des informations relatives à la 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

Aussi, les éléments suivants doivent être ajoutés au fichier web.xml du projet contenant le groupe DADX. (En supposant que le nom JNDI de la source de données soit 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>
 

5.18 Chargement d'un releveur de coordonnées de client à l'aide du client de test universel

Lorsque le client de test universel ne parvient pas à précharger la classe de releveur de coordonnées générée par le contexte d'exécution WebSphere v5.0.2 ou Axis, cela est dû au fait que le nom de la classe de bean Java du projet WEB du service est le même que le nom de la classe SEI du projet Web client. Pour résoudre cet incident, procédez comme suit :

  1. Supprimez le projet Web client de l'espace de travail.
  2. Créez le projet Web client dans un fichier EAR différent, le nom du projet EAR devant être alphabétiquement avant le nom du projet EAR du service.   Par exemple, si le nom du projet EAR du service est "DefaultEAR", créez le nouveau projet EAR en le nommant "ClientEAR".
  3. Réexécutez l'assistant de création de services Web.

 

5.19 Préférences des ressources non respectées

Les préférences de remplacement de fichier, de création de dossiers et de vérification automatique des fichiers ne sont pas respectées lors de la création de services Web à l'aide du contexte d'exécution WebSphere v5.0.2 et Axis. La création de dossiers est toujours autorisée et la vérification automatique des fichiers n'est jamais activée.

Lorsque vous utilisez le contexte d'exécution WebSphere v5.0.2, le fichier WSDL, SEI et les artefacts de déploiement (sérialiseurs et désérialiseurs) sont toujours remplacés. Les artefacts de développement (bean de service, beans de types complexes, collecteur et classe auxiliaire) ne sont jamais remplacés. Toutefois, l'utilisateur obtient un message d'avertissement concernant le remplacement des descripteurs de déploiement s'ils existent. L'utilisateur peut sélectionner OK pour remplacer les descripteurs de déploiement et poursuivre le scénario, ou Annuler pour empêcher le remplacement des descripteurs de déploiement.

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

5.20 Incidents lors de l'utilisation du contexte d'exécution Apache Axis 1.0

5.21 Echec de la compilation des fichiers exemples JSP de service Web

Lors de la génération de squelettes ou de proxy de services Web à partir d'un fichier WSDL qui utilise le même nom pour l'un de ses éléments <service> et l'un de ses éléments <port>, n'utilisez pas les fichiers exemples JSP comme client de test. Les fichiers exemples JSP générés contiennent des erreurs et ne peuvent pas être compilés. Toute tentative d'exécution des fichiers exemples JSP sur le serveur entraînera une ERREUR 500 dans le navigateur indiquant que les fichiers exemples JSP ne peuvent pas être chargés, et des exceptions dans la console du serveur indiquant que le conteneur de servlet n'a pas pu compiler les fichiers exemples JSP.

5.22 Incident avec la ligne de commande des services Web lorsque la langue allemande est utilisée

Lors de l'exécution de l'outil de ligne de commande sous Windows en allemand, certains caractères s'affichent en tant que "?" dans la sortie de l'invite de commande. Il est probable que ce caractère corresponde au tréma (Umlaut) allemand.

5.23 Erreur lorsque localhost n'est pas défini

L'assistant de création de service Web peut échouer lors de la génération de WSDL si le nom d'hôte "localhost" n'est pas défini sur l'ordinateur. Il se peut également que le client de test universel ne parvienne pas à se lancer si "localhost" n'est pas défini.

Sous Windows, l'entrée suivante doit être présente dans le fichier [INSTALL-DRIVE]\WINNT\system32\drivers\etc\hosts :

127.0.0.1 localhost

Sous Linux, l'entrée suivante dans être présente dans le fichier /etc/hosts :

127.0.0.1 localhost

5.24 Limitations permanentes lors de l'utilisation du contexte d'exécution IBM SOAP

Le contexte d'exécution IBM SOAP doit être utilisé principalement pour des raisons de compatibilité amont. Il est vivement conseillé d'utiliser l'assistant de création de services Web avec le contexte d'exécution IBM WebSphere 5.0.2 pour tous les besoins relatifs à la production. Lorsque vous utilisez l'assistant de création de services Web avec le contexte d'exécution IBM SOAP, l'utilisateur peut rencontrer les limitations permanentes suivantes :

5.25 Le service Web et le client utilisent des contextes 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 comme contexte d'exécution du service et Apache Axis 1.0 comme contexte d'exécution du client, vous pouvez obtenir l'erreur suivante :
WSDL Not found (WSDL introuvable)

Pour éviter cet incident, créez d'abord le service Web sans choisir de générer un proxy. Créez ensuite un client de services Web à partir du fichier WSDL généré.

5.26 Cliquer sur Fin dans l'assistant Client de services Web

Lors de l'exécution de l'assistant Client de services Web, si l'utilisateur clique sur Fin dans la page de configuration de l'environnement du client, il obtient l'erreur suivante :

"null" is not resolvable (Impossible de résoudre "null")

La solution consiste à cliquer sur Suivant dans cette page et dans la page suivante, puis de cliquer sur Fin.

5.27 Aide-mémoire des services Web

Dans l'aide-mémoire relatif à la création, au test et à la validation d'un service Web compatible WS-I et dans l'aide-mémoire relatif à la création d'un service Web à partir d'un fichier WSDL, si vous utilisez le fichier HelloService.wsdl du répertoire wsad_install/wstools/eclipse/plugins/com.ibm.etools.cs.wsdl.content_5.1/examples, veuillez modifier l'emplacement du port du service en fonction du contexte d'exécution, comme suit :

Pour IBM Soap :

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

Pour Apache Axis ou WebSphere 5.0.2 :

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

Si vous importez votre propre fichier WSDL, veuillez vous assurer que l'emplacement est défini correctement en fonction du contexte d'exécution sélectionné, comme mentionné plus haut.

Retour au fichier Readme principal