Bonjour.

L'application sur laquelle je travaille passe d'un Websphere 7.0 (sur iSeries/AS400) à un Websphere 8.5 (toujours sur iSeries/AS400).
Les auteurs en ont profité pour enlever toutes les déclarations de servlet qui se trouvaient dans le web.xml pour les remplacer par des annotations dans le servlets de type :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
@WebServlet(name="LogonInit",urlPatterns = {"/LogonInit"})
public class LogonInit extends HttpServlet implements Servlet {
J'installe l'application mais lorsque j'essaie d'y accéder, je reçois ce message d'erreur:
Error 404: java.io.FileNotFoundException: SRVE0190E: Fichier non trouvé : /LogonInit.

[30/07/13 15:11:05:921 CEST] FFDC Exception:java.io.FileNotFoundException SourceId:com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest() ProbeId:298
java.io.FileNotFoundException: SRVE0190E: Fichier non trouvé : /LogonInit.
at com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor._processEDR(DefaultExtensionProcessor.java:893)
at com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.processEDR(DefaultExtensionProcessor.java:874)
at com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:434)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:125)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:77)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:926)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1023)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3703)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:962)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:522)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:311)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:87)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:557)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:607)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:984)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1069)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1783)
Pourtant la class LogonInit se trouve bien dans un des JAR du programme. J'ai également essayé en écransant la classe du JAR par la même classe mais hors du JAR mais sans plus de succès.
J'ai aussi essayé de modifier l'annotation comme ceci mais toujours sans succès:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
@WebServlet("/LogonInit")
public class LogonInit extends HttpServlet implements Servlet {
Par contre j'ai installé les exemples de servlet avec annotation 3.0 fournis par IBM (ici : http://pic.dhe.ibm.com/infocenter/wa...servlet30.html) sur le même serveur Websphere 8.5 et cela fonctionne...
Donc ça ne peut être qu'un code, paramètre, fichier de paramètre... à changer dans mon fichier d'installation ou un paramètre à mettre lors de l'installation (mais j'en doute car je n'ai rien fait de spécial lors de l'installation de l'exemple de IBM).

Evidemment l'éditeur s'en fiche car lui n'utilise que des serveurs Tomcat sur Windows et là, pas de soucis...

Si quelqu'un pouvait m'aider à sortir de ce bourbier... merci!