Servlet Atos [Résolu] [Ecommerce] [Tomcat - config] [Libriaries jar] - Java - Programmation
Marsh Posté le 08-07-2004 à 18:04:02
http://localhost:9006/requestAtos
(la valeur de url-pattern dans ton servlet-mapping). Sinon bravo pour ton post clair et précis.
Ne penses tu pas que tu devrais peut etre passer une journée à lire un peu des trucs sur les servlet avant de plonger dedans. Tu vas avoir du mal à t'en sortir à la première difficulté ...
Marsh Posté le 08-07-2004 à 23:32:32
DarkLord a écrit : http://localhost:9006/requestAtos |
ce serait pas plutôt :
http://localhost:9006/AtosPayment/requestAtos
?
Le contexte (AtosPayment) indique la webapp et requestAtos mappe vers la servlet.
Marsh Posté le 08-07-2004 à 23:35:21
ah oui tiens
Marsh Posté le 09-07-2004 à 09:21:00
Citation : Sinon bravo pour ton post clair et précis. |
Merci...
Citation : Ne penses tu pas que tu devrais peut etre passer une journée à lire un peu des trucs sur les servlet avant de plonger dedans. Tu vas avoir du mal à t'en sortir à la première difficulté ... |
J'y ai passé quelques jours... ;-)
Citation : |
Non ce n'est pas ça !
Et non ce n'est pas ça non plus ...
Et voici ce que j'obtient a chauque entrée de ces URL :
Edit 1 : Autre tentative :
J'ai viré le fichier web.xml (pour tester...), j'ai redemarrer Tomcat.
Si j'entre l'URL http://localhost:9006/AtosPayment/requestAtos j'obtient la meme chose, par contre si j'entre http://localhost:9006/AtosPayment j'obtient l'ecran ci dessous:
Edit 2 : Autre précision :
Les servlets d'examples de Tomcat fonctionnent correctements, tout me porte à croire que c'est mon fichier web.xml qui foire...
Edit 3 : Modification du web.xml
J'ai remis le fichier web.xml en place et je l'ai modifié comme ci dessous :
Code :
|
J'ai redemarré le serveur... rien a faire ca marche toujours pas !
Edit 4 : un fichier HTML ?
Dois je créer un fichier html pour lancer ma servlet (si oui que doit il contenir), et dois je ajouter les balises <welcome-file-list> ?
Conclusion :
Maintenant vous comprenez pourquoi mon post etait aussi clair et précis, c'est que moi même j'ai déja tester ces URL et elles ne marchent pas alors que la configuration de mon serveur me semblait Ok.
Peut être avez vous une autre idée...
Marsh Posté le 09-07-2004 à 11:53:43
Edit : j'ai supprimé mon up. (un poil trop agressif a mon gout)
Marsh Posté le 09-07-2004 à 13:41:21
ton web.xml a l'air correct.
<url-pattern>/requestAtos/*</url-pattern>
c'est bien.
Tu peux virer toute référence à ton appliu web dans le fichier server.conf.
Puis tu mets le répertoire de ton appli dans le rép webapps de tomcat.
Dans ce cas le contexte sera le nom du répertoire deton appli et tomcat la charge par défaut.
Si le nom du rep est "AtosPayment"
Alors il faudra l'appeler par http://localhost:port/AtosPayment/requestAtos.
Cette requête http effectue un "GET" vers ta servlet request.RequestServlet.
Donc à toi de voir ce que fait la méthode doGet de ta servlet.
Le fichier d'accueil défini dans le welcome-file-list ne sert que lorsque qu'on appelle ton appli sans appeler la servlet cad en appeleant http://localhost:port/AtosPayment.
quand ce n'est pas défini, cela affiche le contenu du répertoir de ton appli (si on a le droit).
edit: vindju de smileys automatiques, je ne corrige pas tu comprendras bien tout seul...
Marsh Posté le 09-07-2004 à 14:45:28
Je fait le point :
Suite au post de krosso, je teste de bouger le repertoire de mon appli (atos) dans le webapps de Tomcat, j'ai donc la nouvelle architecture suivante :
J'ai enlevé toute réference a mon appli (soit le context) dans le fichier server.xml et j'ai bien entendu redémarré Tomcat.
Mon répertoire s'appelle /atos (et non AtosPayment) j'ai donc testé de l'appelé avec l'url suivante : http://localhost:9006/atos/requestAtos et j'ai encore obtenu l'erreur 404 de Tomcat.
En désepoir de cause j'ai aussi testé les URLs suivantes sans résultats :
http://localhost:9006/atos
http://localhost:9006/atos/
http://localhost:9006/atos/request
http://localhost:9006/atos/request/
http://localhost:9006/atos/RequestAtos
http://localhost:9006/atos/RequestAtos/
... je commence à désepérer ... personne n'a une autre idée ?
Citation : edit: vindju de smileys automatiques, je ne corrige pas tu comprendras bien tout seul... |
Pas de problèmes c'est devenu une habitude sur HFR cette espèce de smiley en plein milieu des urls...
Marsh Posté le 09-07-2004 à 15:10:53
Pour faire avancer le schmilblick (ou comment déguiser un up)
J'ai mis la main sur les logs de catalina (fichier catalina.out), voici ce que ça donne :
Citation : 9 juil. 2004 11:32:44 org.apache.tomcat.util.net.PoolTcpEndpoint acceptSocket |
Ils sont a prendre avec des pincettes (logs), car après que la dernière ligne soit apparue, j'ai tenté de lancé une servlet d'exemple et elle marchait encore...
A propos du manager de Tomcat
Depuis ce matin, la servlet manager ne semble plus marcher, je ne pense pas que ce soit grave en soit, mais ca doit bien montré qu'il y a des problèmes en quelque part. Lorsque je la lance le navigateur charge indefiniment (sans meme me faire un timeout).
Toujours pas d'idées ?
Marsh Posté le 09-07-2004 à 15:13:37
je comprend pas non plus pkoi ton truc marche pas ...
y a rien dans les logs de tomcat ?
Marsh Posté le 09-07-2004 à 15:16:29
ReplyMarsh Posté le 09-07-2004 à 15:32:11
Oui effectivement ces logs sont a prendre avec des pincettes car ils ont pas l'air corrects vu que mon serveur Tomcat foncitonne toujours et que les logs semblent dire le contraire...
Citation : y a rien dans les logs de tomcat ? |
Tomcat possède t-il d'autres logs que le fichier catalina.out ? Si oui comment peuvent ils s'appeler ? et ou les trouver ...
Marsh Posté le 09-07-2004 à 16:04:34
wouf a écrit : Oui effectivement ces logs sont a prendre avec des pincettes car ils ont pas l'air corrects vu que mon serveur Tomcat foncitonne toujours et que les logs semblent dire le contraire...
|
ben regarde dans le fichier log de tomcat et tu prends les derniers fichiers ayant été modifiés ...
mais logiquement c'est le fichier dont tu as donné un extrait là ...
Mais bon, si tu n'est aps sûr de tes logs, je vois pas comment on peut t'aider.
Arrête le serveur, purge le répertoire log, redémarre, là tu seras sur !
Marsh Posté le 09-07-2004 à 16:12:14
Citation : Arrête le serveur, purge le répertoire log, redémarre, là tu seras sur ! |
Ok, c'est fait et j'ai effectivement d'autres logs qui sont apparus :
fichier: localhost_log.2004-07-09.txt
Citation : 2004-07-09 16:08:45 HostConfig[localhost]: Déploiement du descripteur de configuration admin.xml |
Marsh Posté le 09-07-2004 à 16:22:10
bon, déjà ta webapp est lancé avec le nom de context /atos et pas /AtosPayment comme tu nous l'avais dit ... ensuite ton web.xml est foireux.
essaye de l'ouvrir sous IE pour voir ce qu'il te dit.
vérifis que l'entête XML est bien placé sur la première ligne du fichier, et commence au premier caractère. Ensuite vérifie que le encodeing qui tu indiques est dans l'entête est bien celui utilisé pour sauvegarder le fichier. Si tu veux être sûr de toi, vire l'attribut encoding et vire tous les caractères spéciaux de ton fichier (accents, etc ...)
Marsh Posté le 09-07-2004 à 16:51:20
Citation : bon, déjà ta webapp est lancé avec le nom de context /atos et pas /AtosPayment comme tu nous l'avais dit ... |
Arrète moi si je me trompe mais krosso m'as dit de virer le context que j'avais dans mon server.xml donc c'est normal que ce ne soit plus "/AtosPayment". Il me semble que l'attribut "path=" de la balise "context" du fichier "server.xml" n'est qu'une sorte d'alias vers l'attribut "docBase" de la même balise et ce dernier attribut pointait bien vers un répertoire s'appelant "atos". Donc si j'enlève le context c'est bien avec le repertoire "atos" que je travaille et non plus avec le "path" "AtosPayment". Je ne pense donc pas avoir dit de bétises nulle part.
Donc "mea culpa" ou "tea culpa" ?
Citation : ensuite ton web.xml est foireux |
Dans ce cas "mea culpa" et "tea gloria" ,en effet mon web.xml commencait au second caractère de la 1ere ligne...
J'ai encore redemarré Tomcat et lancé l'appli et voici ce que j'obtient :
cela peut il encore venir de mon fichier web.xml ?
Pour information voici ce qu'il donne dans FireFox :
Marsh Posté le 09-07-2004 à 18:09:31
On dirait en effet que le pbm vient du web.xml.
Fais un test en virant tous les caractères accentués de ton web.xml.
En gros, écris-le en ascii 7 bit ;-)
Une solution parmi d'autres : télécharge une version d'évaluation de XMLspy et fais lui valider ton fichier.
Tu en auras le coeur net.
Au passage, xmlspy est un bon outil pour tous ceux qui manipulent des fichiers xml !
K.
Marsh Posté le 09-07-2004 à 18:42:18
non, la visiblement le web.xml a l'air d'être correcte puisque la servlet est connue de tomcat. Regarde tes logs : tu as surement des messages d'erreurs ...
sinon, ok pour le coup du context à /atos, j'avais pas vu que tu avais changé ...
Marsh Posté le 09-07-2004 à 21:20:24
Je suis plus au taf... suite du probléme lunid ... bon week end !
Marsh Posté le 10-07-2004 à 00:28:25
wouf a écrit : Je suis plus au taf... suite du probléme lunid ... bon week end ! |
ha nan, moi lundi je me ferai dorer la pillule à la plage
bon courage pour ton problème
Marsh Posté le 10-07-2004 à 11:05:49
benou a écrit : ha nan, moi lundi je me ferai dorer la pillule à la plage |
Marsh Posté le 10-07-2004 à 15:29:35
vue la météo, il ira ptête à la plage mais quant à se faire dorer la pilule ou autre chose, spagagné...
Marsh Posté le 12-07-2004 à 10:19:43
Citation : On dirait en effet que le pbm vient du web.xml. |
Je pense que maintenant mon web.xml est correct car il s'afffiche correctement et ne comporte aucun caractère accentué. De plus l'erreur n'est plus la meme (cf screenshot ci dessus)
Citation : non, la visiblement le web.xml a l'air d'être correcte puisque la servlet est connue de tomcat. Regarde tes logs : tu as surement des messages d'erreurs ... |
La ligne des logs correspondante :
Citation : 2004-07-12 10:07:59 StandardWrapperValve[request]: La servlet request est actuellement indisponible |
Je veux bien utiliser un validateur de xml mais sous un environement Mac .. je sais pas si ca existe (du moins xmlspy n'existe pas)
Citation : vue la météo, il ira ptête à la plage mais quant à se faire dorer la pilule ou autre chose, spagagné... |
Tout dépend de la plage... si c'est en martinique .. c'possible qu'il fasse beau Sinon bonne vacance benou !
Darklord, Krosso vous avez d'autres idées concernant mon probleme ?
Marsh Posté le 12-07-2004 à 10:35:19
Pour repartir sur des bases propres :
- Arrête tomcat.
- Supprime tous les fichiers dans le répertoire logs
- Relance tomcat
- Va voir dans tous les logs générés (dans localhost....log surtout et dans catalina.out s'il est configuré). Dans les logs concernant ton appli tu dois voir appraître le nom de son contexte.
Si tu vois qlq chose de significatif, poste le ici.
Marsh Posté le 12-07-2004 à 11:38:38
Citation : Arrête tomcat. |
Je fais toujours cette manip des que je touche a un truc...
Tu peux donc condiérer que le logs ci dessus a été produit suite a cette manip... Mais bon, je vais quand meme recommencer un fois :
Les logs suivant correspondent aux étapes ci dessous :
- Démarrage Tomcat
- Lancement de mon appli (envoie de l'url dans le navigateur)
Fichier localhost_admin_log.2004-07-12.txt
Citation : 2004-07-12 11:33:27 WebappLoader[/admin]: Deploying class repositories to work directory /Library/Tomcat/work/Standalone/localhost/admin |
Fichier localhost_examples_log.2004-07-12.txt
Citation : 2004-07-12 11:33:19 WebappLoader[/examples]: Deploying class repositories to work directory /Library/Tomcat/work/Standalone/localhost/examples |
Fichier localhost_log.2004-07-12.txt
Citation : 2004-07-12 11:33:26 HostConfig[localhost]: Déploiement du descripteur de configuration admin.xml |
... pas de catalina.out dans mon repertoire de logs...
Marsh Posté le 12-07-2004 à 11:46:29
Code :
|
Je crois que c'est assez clair, non ?
Il te manque le jar contenant les classes sips...
Marsh Posté le 12-07-2004 à 14:40:23
Oups je pensais t'avoir répondu mais mon post a du mal passer... Je reprends donc :
Citation : Je crois que c'est assez clair, non ? |
Pas tant que ça ... c'est ma première servlet, je te le rappelle... (mais bon dans l'ensemble grace a toi et au autres c'est d eplus en plus clair)
Citation : Il te manque le jar contenant les classes sips... |
Ce jar s'appelle atospayment.jar et j'en ai eu besoin lorsque j'ai compilé ma requestServlet. Dois je le mettre ensuite dans un repertoire particulier ?
Marsh Posté le 12-07-2004 à 15:30:30
Tomcat a besoin de ce jar tu dois donc le placer à un endroit où il peut le trouver.
Le plus simple : le répertoire WEB-INF/lib de ton appli.
Un jar est en fait un répertoire compressé. Tu peux donc ouvrir atospayment.jar avec un outil comme winzip pour vérifier que s'y trouve en effet une classe com.atos.sips.common.SIPSDataObject
En ligne de commande unix je ferais :
jar tvf atospayment.jar |grep SIPSDataObject
si le jar est dans le rep courant
K.
Marsh Posté le 12-07-2004 à 15:49:36
Correction le jar s'appelle apipayment.jar
Citation : Un jar est en fait un répertoire compressé. Tu peux donc ouvrir atospayment.jar avec un outil comme winzip pour vérifier que s'y trouve en effet une classe com.atos.sips.common.SIPSDataObject |
Pas de winzip sous Mac , mais bon il y a d'autres choses. Eclipse lui même est capable d'afficher un .jar comme un arborescence et oui la classe recherchée est bien présente dans ce .jar (parmis d'autres)
Citation : Tomcat a besoin de ce jar tu dois donc le placer à un endroit où il peut le trouver. |
J'ai essayé de placer le .jar tel quel dans le repertoire WEB-INF/lib de mon appli, j'ai bien sur redemarré Tomcat et j'ai obtenu la même errreur. Ne faut il pas lui indiquer un repertoire different (plus précis) que WEB-INF/lib.
Je m'explique : dans le logs on peut lire la ligne suivante :
Citation : java.lang.NoClassDefFoundError: com/atos/sips/common/SIPSDataObject |
Ne faudrait il pas respecter une telle hierarchie ?
Je patauge réellement dans la semoule !
Marsh Posté le 12-07-2004 à 17:14:35
Citation : Je m'explique : dans le logs on peut lire la ligne suivante :
|
On peut prendre comme hypothèse que le jar d'atos est bien construit.
(Tu peux tester en le copiant dans un répertoire temporaire et en ligne de commande tu tapes : jar xvf nomdujar.jar ça va te le dézipper).
Du coup je sèche un peu sur ton pbm...
Marsh Posté le 12-07-2004 à 17:34:32
C'est la mort de l'art... J'ai changé le titre du topic pour recentrer un peu le problème dans l'espoir d'attirer de nouvelles aides...
Marsh Posté le 12-07-2004 à 17:50:04
Ca y est !
Le problème venait bien de l'apipayment.jar qui ne se trouvait pas au bon endroit... en la placant avec les .jar de tomcat (au coté de servlet.jar) je n'ai plus de problèmes ...
Merci a toi krosso et aux autres !
Marsh Posté le 12-07-2004 à 20:11:35
placé dans commons/lib ça marche
placé dans le WEB-INF/lib de ton appli ça marche pas ?
bizarre
Marsh Posté le 08-07-2004 à 18:00:52
Bonjour,
Je suis chargé de mettre en place un module de paiement pour une boutique en ligne fonctionnant avec la solution de paiement en ligne ATOS (Full Java). Je travaille sous Mac OS X Server, avec Tomcat fraichement installé et operationnel.
J'ai un code source fourni par ATOS qu'il me faut compiler. J'ai téléchargé eclipse, le plugin Tomcat et j'ai compilé le tout. Le plugin Tomcat se charge normalement du deployment de l'appli, mais je n'arrive pas a la tester.
Informations :
Extrait du server.xml
Architecture de mon répertoire :
Mon fichier web.xml
Mon problème
J'accède a mon serveur avec l'adresse :
http://localhost:9006
Que dois-je taper comme URL pour lancer ma servlet ? Faut il que je crée un fichier html pour la lancer ? Comment ?
Merci d'avance pour vos futures réponses...
Message édité par wouf le 12-07-2004 à 17:52:20