j'ai suivi le « Netbeans tutoriel E-Commerce », et je suis actuellement à avoir cette étape: http://netbeans.org/kb/docs/javaee/ecommerce/entity-session.htmlerreur Java Netbeans
J'ai entièrement configuré mon compte Windows 7 selon cette page, avec NetBeans 6.9 .1, serveur Glassfish et MySQL.
Je reçois une erreur 500 lors de l'exécution de la page 'Catégorie' (extrait de journal ci-dessous). L'erreur se manifeste lorsque je termine l'étape 3 dans la sous-section «catégorie sélectionnée» de la section «Accès aux données avec EJB» de cette page. La ligne en question est:
// get selected category
selectedCategory = categoryFacade.find(Short.parseShort(categoryId));
Si je commente cette ligne, le bogue disparaît.
L'extrait de fichier journal est ici:
[#|2010-09-29T18:32:32.570+0100|WARNING|glassfish3.0.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=30;_ThreadName=http-thread-pool-8080-(2);|StandardWrapperValve[Controller]: PWC1406: Servlet.service() for servlet Controller threw exception
javax.ejb.EJBException
at com.sun.ejb.containers.BaseContainer.processSystemException(BaseContainer.java:5119)
at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:5017)
at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4805)
at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2004)
at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1955)
at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:198)
at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:84)
at $Proxy355.find(Unknown Source)
at session.__EJB31_Generated__CategoryFacade__Intf____Bean__.find(Unknown Source)
at controller.ControllerServlet.doGet(ControllerServlet.java:68)
ligne 68 dans le code ControllerServlet est celui identifié ci-dessus. Mon expérience avec Java et NetBeans est suffisamment légère pour que je ne sois même pas sûr de commencer à déboguer cela. J'ai suivi le tutoriel de très près, donc ce ne devrait pas être quelque chose que j'ai manqué - mais des erreurs se produisent.
Je comprends qu'une solution pure et simple basée sur l'information contenue serait difficile. S'il y a d'autres informations requises, veuillez demander. A défaut, si quelqu'un a des suggestions sur la façon dont je peux enquêter plus en détail sur ce sujet, je serais très reconnaissant. Je pense toujours que les problèmes de fissuration sont la meilleure façon d'apprendre, mais c'est aussi très frustrant.
Mise à jour: J'ai parcouru le débogueur NetBeans. Il semble que le problème soit avec le code cast (Short.parseShort (categoryId)). Lorsque je remplace cela par un simple chiffre cela fonctionne. par exemple. ce code fonctionne // obtenir la catégorie sélectionnée selectedCategory = categoryFacade.find (1);
Est-ce que quelqu'un a des idées pour expliquer pourquoi la distribution échoue? categoryId est confirmé comme une chaîne avec une valeur de "1" dans le débogueur ...
Vous voulez dire Netbeans 6.9.1? – Bobby
Oui, je pensais que j'avais corrigé cela dans mon dernier post éditer. J'ai maintenant: D – JonRed
Qu'est-ce que vous avez dans la méthode 'find()' de votre EJB? Cela pourrait être utile. –