我正在尝试一个涉及EJB + JPA + JSF的Jax-RS示例。我通常可以运行该示例,但是当我删除无状态EJB bean中的以下注释时;
// @Context
// private UriInfo uriInfo;
/* @POST
@Path("book")
@Consumes(MediaType.APPLICATION_JSON)
public Response createJaxbBook(JAXBElement<Book> bookJaxb) {
Book book = bookJaxb.getValue();
book.setIsbn(numberGenerator.generateNumber());
em.persist(book);
em.flush(); // to get the id
URI bookUri = uriInfo.getAbsolutePathBuilder().path(book.getId().toString()).build();
Response resp = Response.created(bookUri).build();
logger.fine("ItemEJB.createJaxbBook():" + resp.toString());
return resp;
} */
当我运行带有未注释版本的示例时,我得到错误,以便;
HTTP状态500 -
输入例外报告
消息
description服务器遇到内部错误(),导致无法完成此请求。
例外
javax.servlet.ServletException:在托管bean itemController上执行资源注入时发生错误
根本原因
com.sun.faces.mgbean.ManagedBeanCreationException:在托管bean itemController上执行资源注入时发生错误
根本原因
com.sun.faces.spi.InjectionProviderException:com.sun.enterprise.container.common.spi.util.InjectionException:异常尝试调用生命周期方法private void org.beginningee6.training.web.ItemController.initList()< / p>
根本原因
com.sun.enterprise.container.common.spi.util.InjectionException:异常尝试调用生命周期方法private void org.beginningee6.training.web.ItemController.initList()
根本原因
java.security.PrivilegedActionException:java.lang.reflect.InvocationTargetException
根本原因
java.lang.reflect.InvocationTargetException
根本原因
javax.ejb.EJBException:javax.ejb.EJBException:javax.ejb.CreateException:无法创建无状态EJB
根本原因
javax.ejb.EJBException:javax.ejb.CreateException:无法创建无状态EJB
根本原因
javax.ejb.CreateException:无法创建无状态EJB
根本原因
显示java.lang.NullPointerException
注意GlassFish Server Open Source Edition 3.1.1日志中提供了异常的完整堆栈跟踪及其根本原因。 GlassFish Server开源版3.1.1
当我用curl将记录插入数据库时;
curl -X POST --data-binary“{\”title \“:\”book333 \“,\”price \“:\”24.0 \“,\”description \“:\”3rd Scifi IT book \“,\”illustrations \“:\”false \“,\”isbn \“:\”134-234 \“,\”nbOfPage \“:\”241 \“}” - H“内容类型:应用程序/ json“-H”接受:application / json“http://localhost:8080/Lab17-REST/rs/items/book
然后刷新页面,项目正常运行。我怎么能解决这个问题。