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
我相信網絡服務引發了一個異常。您應該檢查服務器日誌以進行調查。 –