2009-07-29 9 views
3

Dans websphere (version 6 SP11) sur la méthode de request.getHeaderNames appel, je reçois cette exceptionNullPointerException sur appel de méthode request.getHeaderNames dans websphere

java.lang.NullPointerException 

      at com.ibm.ws.webcontainer.srt.SRTServletRequest.getHeaderNames(SRTServletRequest.java:345) 

      at .... 

Je n'ai pas le code source pour SRTServletRequest.

Est-ce que quelqu'un a fait face à ce problème?

+0

Avez-vous essayé de décompiler SRTServletRequest en utilisant (par exemple) JD (http://java.decompiler.free.fr/)? Cela peut vous pointer dans la bonne direction. –

+0

Pouvez-vous nous donner le contexte dans lequel 'getHeaderNames()' a été appelé? Par exemple, est-il appelé directement à partir d'une méthode sous-classe 'HttpServlet'' doPost() '? –

+0

Oui, Nous appelons cette méthode pendant un appel doPost dans la sous-classe HttpServlet – vinesh

Répondre

3

Enfin, j'ai la réponse, merci à tous de m'avoir aidé. le problème était: 2. un développeur a enregistré une requête dans le champ de classe et 2. en accédant au champ de requête de niveau de classe de temps, un autre thread a démarré et s'est terminé, donc détruire appel et nullPointer.

1

Une explication possible pour le NPE est donnée here.

Je ne peux pas être sûr sans regarder WebSphere, mais le diagnostic du rapport lié un NPE dans SRTServletRequest.getHeaderNames() indique qu'il peut arriver si vous appelez la méthode sur l'objet de demande est allé "hors de portée". En d'autres termes, après que la gestion du cycle de vie du conteneur WebSphere a été éliminée. Maintenant, si cela peut se produire lorsque WebSphere est utilisé avec Spring, cela peut très probablement se produire lorsque WebSphere est utilisé seul.

Si getHeaderNames() est appelé dans doPost(), est-il possible que votre code ait fait quelque chose qui a amené WebSphere à penser que le servlet en avait fini avec l'objet de requête? Cela peut être dans le servlet ou dans quelque chose comme un filtre qui a touché l'objet de requête plus tôt.

+0

+1 Les sons comme celui-ci sont ce qui se passe. La question est pourquoi ...? –

Questions connexes