Incidents de déploiement d'application
Vous pouvez rencontrer des incidents lors du déploiement, de l'installation ou de la promotion d'applications. La présente rubrique fournit des méthodes permettant de résoudre les incidents.
Type d'incident
- L'application ne s'affiche pas
- Impossible d'enregistrer une application déployée
Erreur java.lang.RuntimeException : Erreur Failed_saving_bytes_to_wor_ERROR_ dans l'outil d'assemblage, la console d'administration ou l'outil wsadmin
- Erreur WASX7015E lors de l'exécution de la commande wsadmin $AdminApp installInteractive ou $AdminApp install
- Installation impossible d'un bean entity CMP ou BMP dans un module EJB 3.0
- Un langage DDL (data definition language) généré par un outil d'assemblage émet une erreur SQL sur une plateforme cible
- ADMA0004E : Echec de la validation
- Impossible de charger la ressource WEB-INF/ibm-web-bnd.xmi dans le fichier archive
- Aucune cible valide indiquée dans ObjectName objet pour le module nom_module à partir de l'installation
- L'option addNode -includeapps ne s'affiche pas pour le téléchargement de toutes les applications sur le gestionnaire de déploiement
- L'erreur "Dépassement du délai d'attente" s'affiche en cas de tentative d'installation d'une application enterprise sur la console d'administration
- Un message NameNotFoundException s'affiche lors du déploiement d'une application qui contient un module d'EJB
Lors de l'installation de l'application, l'appel du déploiement des EJB génère une exception
- Des erreurs de compilation surviennent et le déploiement d'EJB n'aboutit pas lors de l'installation d'un fichier JAR EJB généré pour la version 5.x ou pour une version antérieure
- Lors du téléchargement des documents, la commande addNode -includeapps échoue avec une exception OutOfMemoryError
- Exception OutOfMemory dans le gestionnaire de déploiement
- Après installation de l'application sur une autre machine, l'application ne s'exécute pas
- Un fichier unique remplace tous les fichiers d'application lors de la mise à jour de l'application
- Vérifiez que le nom logique qui s'affiche sur la console pour votre application, votre module bean enterprise ou autre ressource ne contient aucun caractère incorrect tel que : - / \ : * ? " < > |.
- Si l'application a été installée à l'aide de la commande wsadmin $AdminApp install avec l'indicateur -local, redémarrez le serveur ou exécutez de nouveau la commande sans l'indicateur -local.
Si vous ne trouvez pas d'incident similaire au vôtre ou que les informations fournies ne permettent pas de résoudre votre problème, vérifiez si le problème est identifié et documenté.
Reportez-vous au support technique disponible en ligne : il contient des conseils, des notes techniques et des correctifs. Si l'incident n'a pas été identifié, voir Identification des incidents dans l'aide d'IBM.
L'application ne s'affiche pas
L'application a été installée à l'aide de l'outil wsadmin, mais elle ne s'affiche pas sous
.- Vérifiez que le sous-répertoire de l'application se trouve bien sous le répertoire racine_serveur_app/installedApps.
- Exécutez la commande $AdminApp list et vérifiez que l'application ne figure pas parmi celles qui s'affichent.
- Dans le répertoire bin, exécutez la commande wsadmin.bat ou wsadmin.sh.
- A partir de l'invite wsadmin, entrez $AdminApp list et vérifiez que l'application qui pose problème n'est pas parmi celles qui s'affichent.
- Réinstallez votre application à l'aide de l'outil wsadmin. Avant de quitter l'outil, exécutez la commande $AdminConfig save dans l'outil wsadmin.
Impossible d'enregistrer une application déployée
Si vous ne pouvez pas enregistrer une application déployée, l'incident vient peut-être du fait que trop de fichiers sont ouverts, et que la limite du système d'exploitation a été dépassée.
![[Linux]](../images/linux.gif)
ulimit -n nombre_de_fichiers
Seul l'utilisateur root a le droit d'ajuster le nombre maximum de fichiers pour chaque processus. Complétez les étapes suivantes pour modifier l'application de sorte qu'elle ferme les fichiers avec discipline :
- Après avoir ouvert un fichier et terminé votre travail, appelez la méthode de fermeture du fichier pour renvoyer le descripteur de fichier au système d'exploitation.
- En utilisant les classes java.io.FileInputStream et FileOutputStream comme exemples, vous pouvez appeler leur méthode de fermeture pour libérer toutes les ressources système associées au flux.
![[Windows]](../images/windows.gif)
Erreur java.lang.RuntimeException : Erreur Failed_saving_bytes_to_wor_ERROR_ dans l'outil d'assemblage, la console d'administration ou l'outil wsadmin
Si ce message d'erreur s'affiche quand vous tentez de générer du code déployé dans un outil d'assemblage, lorsque vous installez une application ou un module dans la console d'administration ou lors de l'utilisation de l'outil wsadmin pour l'installation d'une application ou d'un module, le chemin d'accès au fichier temporaire du système peut être trop long.
Pour vérifier qu'il s'agit bien de l'incident, consultez les variables d'environnement TEMP et TMP de votre système. Les variables d'environnement longues rallongent d'autant le chemin d'accès aux noms de fichiers auxquels accède l'outil de déploiement EJB.
- Arrêtez tous les processus WebSphere Application Server et fermez toutes les invites DOS.
- Affectez aux variables d'environnement TEMP et TMP une valeur plus courte, par exemple C:\TMP et C:\TEMP.
- Réinstallez l'application.
Erreur WASX7015E lors de l'exécution de la commande wsadmin $AdminApp installInteractive ou $AdminApp install
Deux causes possibles :
- Si le texte du message d'erreur est similaire à :Le fichier et le nom de chemin d'accès sont incorrects. Dans ce cas, le programme wsadmin a interprété le chemin d'accès comme plusieurs paramètres successifs car il contient des espaces.
WASX7015E: Exception lors de l'exécution de la commande : "$AdminApp installInteractive C:/Documents and Settings/ myUserName/Desktop/MyApp/myapp.ear"; informations sur l'exception : com.ibm.bsf.BSFException: erreur lors de l'évaluation de l'expression Jacl : méthode "installInteractive" introuvable avec 3 argument(s) pour la classe "com.ibm.ws.scripting.AdminAppClient"
WASX7015E: Exception lors de l'exécution de la commande : "$AdminApp installInteractive Documents and Settings/ myUserName/Desktop/MyApp/myapp.ear"; informations sur l'exception : com.ibm.bsf.BSFException: erreur lors de l'évaluation de l'expression Jacl : méthode "installInteractive" introuvable avec 3 argument(s) pour la classe "com.ibm.ws.scripting.AdminAppClient"
Entrez correctement le chemin d'accès au fichier .ear. Dans ce cas, en le plaçant entre guillemets :
$AdminApp installInteractive "C:\Documents and Settings\myUserName\Desktop\MyApps\myapp.ear"
$AdminApp installInteractive "Documents and Settings/myUserName/Desktop/MyApps/myapp.ear"
- Si le texte du message d'erreur est similaire à :Le chemin d'accès à l'application est incorrect. Dans ce cas, vous devez utiliser des séparateurs "barre oblique" (/) dans le chemin.
WASX7015E: Exception lors de l'exécution de la commande : "$AdminApp installInteractive c:\MyApps\myapp.ear "; informations sur l'exception : com.ibm.ws.scripting.ScriptingException: WASX7115E: Impossible de lire le fichier d'entrée "c:\WebSphere\AppServer\bin\MyAppsmyapp.ear"
WASX7015E: Exception lors de l'exécution de la commande : "$AdminApp installInteractive MyApps\myapp.ear "; informations sur l'exception : com.ibm.ws.scripting.ScriptingException: WASX7115E: Impossible de lire le fichier d'entrée "WebSphere\AppServer\bin\MyAppsmyapp.ear"
Installation impossible d'un bean entity CMP ou BMP dans un module EJB 3.0
Lorsqu'un module EJB 3.0 contenant une entité CMO (persistance gérée par conteneur) ou BMP (persistance gérée par bean) est installé, l'installation échoue.
Le produit ne prend pas en charge l'installation d'applications comportant un bean entity CMP ou BMP regroupé dans un module EJB 3.0. Vous devez regrouper les beans entity CMP ou BMP dans un EJB 2.1 ou antérieur.
- Vous devez regrouper les beans entity CMP ou BMP dans des modules EJB 2.1 ou antérieurs.
- Essayez d'installer vos applications avec les modules EJB 2.1 ou antérieurs.
Un langage DDL (data definition language) généré par un outil d'assemblage émet une erreur SQL sur une plateforme cible
- Vérifiez si les instructions DDL contiennent des dépendances par rapport à des identificateurs utilisateurs et des mots de passe spécifiques et rectifiez au besoin.
- Vérifiez si les instructions DDL contiennent des dépendances par rapport à des noms de serveurs spécifiques et rectifiez au besoin.
- Reportez-vous à la référence des messages du fournisseur pour les causes et les actions préconisées selon les erreurs SQL signalées. Pour IBM DB2, vous pouvez consulter les références des messages en ligne.
SQL0104N Une marque (token) imprévue "CREATE
TABLE AGENT (COMM DOUBLE, PERCENT DOUBLE, P"
a été trouvée après " ". Les marques prévues sont notamment : " ".
SQLSTATE=42601
Modifiez le DDL dans l'éditeur vi en supprimant le caractère Ctl-M au début de chaque ligne.
Régénérez le déploiement du fichier EAR de l'application sur une plateforme Linux.
Utilisez EDTF pour modifier le fichier.
ADMA0004E : Echec de la validation
AppDeploymentException : [ADMA0014E : Echec de la validation.
ADMA0004E : Erreur de validation dans la tâche Spécification de la source de données par défaut
des modules EJB Nom JNDI
non spécifié pour le module Jar beannameBean dont l'URI est nomfichier.jar,META-INF/ejb-jar.xml.
Vous n'avez pas indiqué
la source de données de chacun des beans CMP de ce module. Indiquez-la
pour chaque bean CMP ou
indiquez la source de données par défaut pour l'intégralité du module.]
L'une des causes possibles de cette erreur réside dans le fait que dans
WebSphere
Application Server 4.0, vous n'êtes pas obligé
de définir la source de données de chaque bean CMP dans chaque JAR. Dans la version 5.0 et
les versions ultérieures, vous pouvez désigner une source de données pour un bean CMP (Container-Managed
Persistence) ou une source par défaut pour tous les beans CMP du fichier JAR. Ainsi, lors du dialogue d'installation, avec l'assistant d'installation de la console d'administration par exemple, les zones concernant la source sont facultatives mais la validation effectuée en fin d'installation vérifie si l'une des sources de données au moins a été retenue.Pour résoudre cet incident, revoyez la procédure d'installation et indiquez une source de données par défaut ou une source de données pour chaque bean enterprise de type CMP.
Si vous utilisez l'outil wsadmin, exécutez la commande $AdminApp installInteractive nomfichier pour être invité à entrer des sources de données lors de l'installation ou fournissez-les dans un fichier de réponse.
Mettez les sources de données en option dans la commande $AdminApp install.
Pour plus de détails sur la syntaxe, voir Installation d'applications d'entreprise à l'aide de l'outil de scriptage wsadmin.
Impossible de charger la ressource WEB-INF/ibm-web-bnd.xmi dans le fichier archive
L'application web tmp.war s'installe sur WebSphere Application Server versions 5.0 et 5.1, mais pas sur un serveur WebSphere Application Server version 6.0 ou ultérieure. L'installation de l'application échoue car le fichier WEB-INF/ibm-web-bnd.xmi contient des balises xmi que le modèle WCCM sous-jacent ne reconnaît plus.
Les messages d'erreur suivants s'affichent :
IWAE0007E Impossible de charger la ressource "WEB-INF/ibm-web-bnd.xmi" dans l'archive "tmp.war"
[2/24/05 14:53:10:297 CST] 000000bc SystemErr R
AppDeploymentException:
com.ibm.etools.j2ee.commonarchivecore.exception.ResourceLoadException:
IWAE0007E Impossible de charger la ressource "WEB-INF/ibm-web-bnd.xmi" dans l'archive "tmp.war"
[2/24/05 14:53:10:297 CST] 000000bc SystemErr R
com.ibm.etools.j2ee.commonarchivecore.exception.ResourceLoadException:
IWAE0007E Impossible de charger la ressource "WEB-INF/ibm-web-bnd.xmi" dans l'archive "tmp.war"
!Stack_trace_of_nested_exce!
com.ibm.etools.j2ee.exception.WrappedRuntimeException: Une exception s'est produite lors du chargement de
WEB-INF/ibm-web-bnd.xmi
!Stack_trace_of_nested_exce!
Pour éviter cet incident, supprimez la balise xmi:type=EJBLocalRef du fichier ibm-web-bnd.xmi. La suppression de cette balise n'affecte pas l'application car elle était utilisée pour faire correspondre le type de référence de document croisé. Désormais, l'application fonctionne avec WebSphere Application Server version 5.1 et ultérieures.

Toutefois, un module Java EE 5 ou version ultérieure peut exister dans une application qui inclut des fichiers antérieurs à Java EE 5 et utilise l'extension de nom de fichier .xmi.
Les fichiers ibm-webservices-ext.xmi, ibm-webservices-bnd.xmi, ibm-webservicesclient-bnd.xmi, ibm-webservicesclient-ext.xmi et ibm-portlet-ext.xmi continuent d'utiliser les extensions de fichier .xmi.
sptcfgAucune cible valide indiquée dans ObjectName objet pour le module nom_module à partir de l'installation
Cette erreur se produit généralement dans un environnement de groupes lorsque la cellule, le serveur ou le groupe cible dans lequel l'application doit être installée n'est pas correctement indiqué. Par exemple, lorsque le nom de la cible est mal orthographié.
Pour résoudre cet incident, comparez les noms des cibles avec la topologie WebSphere Application Server et entrez-les de nouveau avec les corrections requises.
L'option addNode -includeapps ne s'affiche pas pour le téléchargement de toutes les applications sur le gestionnaire de déploiement
Cette erreur peut se produire lorsque certaines ou toutes les applications du noeud cible ont déjà été téléchargées sur le gestionnaire de déploiement. Le programme addNode détecte les applications déjà installées et ne les télécharge pas de nouveau.
Utilisez la console d'administration pour parcourir la configuration du gestionnaire de déploiement et vérifier quelles sont les applications déjà installées.
L'erreur "Dépassement du délai d'attente" s'affiche en cas de tentative d'installation d'une application enterprise sur la console d'administration
Cette erreur peut se produire lorsque vous tentez d'installer une application enterprise qui n'a pas été déployée.
- Ouvrez le fichier nom_fichier.ear dans un outil d'assemblage, puis cliquez sur Déployer. Un fichier avec un nom du type Deployed_nom_fichier.ear est créé.
- Dans la console d'administration, installez le fichier EAR déployé.
Un message NameNotFoundException s'affiche lors du déploiement d'une application qui contient un module d'EJB
Si vous spécifiez que l'outil de déploiement EJB doit s'exécuter lors de l'installation de l'application et que l'installation échoue avec un message d'erreur NameNotFoundException, vérifiez que le fichier d'entrée JAR ou EAR ne contient pas de fichiers source. Si le fichier d'entrée JAR ou EAR contient des fichiers source, les outils de déploiement EJB exécutent une reconstruction avant de générer le code de déploiement.
Pour éviter cet incident, supprimez les fichiers source ou incluez toutes les classes dépendantes et les fichiers de ressources du chemin d'accès aux classes. Sinon, les fichiers source ou la perte de l'accès aux classes dépendantes et aux fichiers de ressources peuvent provoquer des incidents lors de la nouvelle compilation de l'application sur le serveur.
![[Windows]](../images/windows.gif)
Lors de l'installation de l'application, l'appel du déploiement des EJB génère une exception
Lorsque vous spécifiez que l'outil de déploiement EJB doit être exécuté lors de l'installation de l'application, si l'installation échoue car la commande est trop longue, alors la commande de déploiement générée lors de l'installation dépasse le nombre maximal de caractères d'une commande Windows.
Pour l'éviter, vous pouvez réduire la longueur du nom du fichier EAR, la longueur du nom du fichier JAR dans le fichier EAR, le chemin d'accès aux classes ou d'autres options spécifiées pour le déploiement ou modifier l'emplacement %TEMP% du système Windows pour en raccourcir le chemin.
Des erreurs de compilation surviennent et le déploiement d'EJB n'aboutit pas lors de l'installation d'un fichier JAR EJB généré pour la version 5.x ou pour une version antérieure
En cas d'installation d'une ancienne application qui utilise des modules d'EJB générés pour une exécution sur WebSphere Application Server version 5.x ou versions antérieures, des erreurs de compilation surviennent et le déploiement d'EJB n'aboutit pas. Le fichier JAR EJB contient le source Java de l'ancien code généré. L'ancien source Java a été généré pour les versions 5.x ou antérieures mais lors du déploiement sur un produit WebSphere Application Server version 6.x ou suivantes, il est compilé à l'aide des fichiers JAR d'exécution de la version 6.0 ou suivantes.
Pour éviter cet incident, supprimez tous les fichiers .java du fichier EAR de l'application. Une fois les fichiers source Java supprimés, vous pouvez déployer l'application sur un serveur.
Lors du téléchargement des documents, la commande addNode -includeapps échoue avec une exception OutOfMemoryError
- Si vous utilisez la commande addNode pour ajouter un noeud à
partir du serveur de base, modifiez le script addNode pour inclure
le paramètre suivant :
-Xmxtaille
- Si vous ajoutez un noeud à partir de la console
d'administration, augmentez la valeur de la variable maximumHeapSize
dans les paramètres de la machine virtuelle Java du gestionnaire de déploiement, puis
redémarrez ce dernier.
Pour plus de détails, voir Commande addNode et Paramètres de la machine virtuelle Java.
![[Windows]](../images/windows.gif)
"%JAVA_HOME%\bin\java" -Xmx512m %DEBUG% %WAS_TRACE% %CONSOLE_ENCODING%
"%CLIENTSOAP%" "%CLIENTSAS%" "-classpath" "%WAS_CLASSPATH%"
"-Dws.ext.dirs=%WAS_EXT_DIRS%" %USER_INSTALL_PROP%
-Dwas.install.root=%WAS_HOME%" "com.ibm.ws.bootstrap.WSLauncher"
"com.ibm.ws.management.tools.NodeFederationUtility" "%CONFIG_ROOT%" "%WAS_CELL%"
"%WAS_NODE%" %*
Exception OutOfMemory dans le gestionnaire de déploiement
Si vous recevez une exception OutOfMemory lors de la tentative d'installation des applications contenant des fichiers EAR volumineux, essayez d'augmenter la taille du segment de mémoire du gestionnaire de déploiement.
Vérifiez les options que vous avez indiquées dans la page Machine virtuelle Java de la console d'administration. Augmentez la valeur de la variable maximumHeapSize dans les paramètres de la machine virtuelle Java du gestionnaire de déploiement. Redémarrez ensuite le gestionnaire de déploiement, puis relancez l'installation de l'application.
Après installation de l'application sur une autre machine, l'application ne s'exécute pas
Si votre application utilise des ressources de niveau d'application, ses informations de noeud de niveau d'application doivent être exactes pour que l'application s'exécute comme prévu.
Lorsque vous ajoutez des ressources de niveau d'application à une application et déployez l'application sur une machine, assurez-vous que les informations de noeud de niveau d'application sont exactes. Autrement, lorsque vous installez l'application sur une autre machine, son emplacement n'est pas correct et l'application ne s'exécute pas comme prévu.
Vous pouvez mettre à jour les informations de noeud de niveau d'application à l'aide d'un outil d'assemblage. Mettez à jour nomNoeud dans ciblesDéploiement du fichier deployment.xml sous ibmconfig. Assurez-vous également que le chemin d'accès de URLBinaires dans objetDéployé du fichier deployment.xml est correct.
Un fichier unique remplace tous les fichiers d'application lors de la mise à jour de l'application
Si vous sélectionnez l'option Remplacer ou ajouter un fichier unique de l'assistant de mise à jour de l'application et que l'application en cours de déploiement est composée de plusieurs fichiers, définissez le chemin d'accès complet du fichier à remplacer ou à ajouter dans Définir le chemin d'accès du fichier archive d'application installé vers le fichier à remplacer ou à ajouter.
La structure du chemin d'accès complet est généralement chemin_répertoire/nom_fichier. Le chemin d'accès complet est similaire à l'exemple suivant :
PriceChangeSession.jar/priceChangeSession/priceChangeSessionBean.class
Ne définissez pas de chemin d'accès incomplet dans Définir le chemin d'accès du fichier archive d'application installé vers le fichier à remplacer ou à ajouter. Par exemple, ne définissez pas un simple chemin d'accès de répertoire :
PriceChangeSession.jar/priceChangeSession
Si vous définissez un chemin d'accès incomplet, tous les fichiers du répertoire de l'application en cours de déploiement pourront être remplacés par le nouveau fichier unique défini sous Définir le chemin d'accès vers le fichier.