0
不使用表单的工作我的代码看起来像这样:投入到Web服务在Java中
Form form = new Form();
form.param("svnr", svnr);
form.param("vorname", vorname);
form.param("nachname", nachname);
client.target(REST_SERVICE_URL + "/lehrer").request(MediaType.APPLICATION_JSON)
.put(Entity.entity(form, MediaType.APPLICATION_FORM_URLENCODED_TYPE), String.class);
而且Web服务看起来像这样:
@PUT
@Path("/lehrer")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public Response createLehrer(@FormParam("svnr") String svnr, @FormParam("vorname") String vorname,
@FormParam("nachname") String nachname, @Context HttpServletResponse servletResponse) {
Lehrer lehrer = new Lehrer(svnr, vorname, nachname);
ManagementDAO.instance.addLehrer(lehrer);
return Response.ok(lehrer, MediaType.APPLICATION_JSON).build();
}
我得到这个异常:
javax.servlet.ServletException: javax.ws.rs.InternalServerErrorException: HTTP 500 Internal Server Error
javax.faces.webapp.FacesServlet.service(FacesServlet.java:659)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
javax.ws.rs.InternalServerErrorException: HTTP 500 Internal Server Error
org.glassfish.jersey.client.JerseyInvocation.convertToException(JerseyInvocation.java:968)
org.glassfish.jersey.client.JerseyInvocation.translate(JerseyInvocation.java:795)
org.glassfish.jersey.client.JerseyInvocation.access$500(JerseyInvocation.java:91)
org.glassfish.jersey.client.JerseyInvocation$2.call(JerseyInvocation.java:683)
org.glassfish.jersey.internal.Errors.process(Errors.java:315)
org.glassfish.jersey.internal.Errors.process(Errors.java:297)
org.glassfish.jersey.internal.Errors.process(Errors.java:228)
org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:424)
org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:679)
org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:435)
org.glassfish.jersey.client.JerseyInvocation$Builder.put(JerseyInvocation.java:323)
klauss.examples.jsf.db.JSFDatabase.addLehrer(JSFDatabase.java:167)
你知道如何解决这个问题吗?我不知道如何解决它。我尝试了一切,但似乎没有任何工作。
我认为这个异常是从'klauss.examples.jsf.db.JSFDatabase.addLehrer(JSFDatabase.java:167)'抛出的。如果该类是您的实施,请编辑该问题并包含源代码。 –
这是一行:'client.target(REST_SERVICE_URL +“/lehrer").request(MediaType.APPLICATION_JSON) .put(Entity.entity(form,MediaType.APPLICATION_FORM_URLENCODED_TYPE),String.class);' – adnfkas
我相信网络服务引发了一个异常。您应该检查服务器日志以进行调查。 –