Preciso retornar um XML com os códigos de erro e uma descrição, usando RESTFul webservices. Dá erro em tempo de execução.
Alguma sugestão?
PessoaResource.java
package meupacote.resource;
import java.util.List;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import br.com.ccsolution.sgo.dao.PessoaDAO;
import br.com.ccsolution.sgo.dao.SGODAOException;
import br.com.ccsolution.sgo.model.Pessoa;
import br.com.ccsolution.sgo.model.MensagemXML;
@Path("/pessoa")
public class PessoaResource {
@GET
@Path("codPessoa/{codPessoa}")
@Produces({ MediaType.APPLICATION_XML })
public MensagemXML atualizaPessoa(@PathParam("codPessoa") long codPessoa){
int retorno = 0;
PessoaDAO pessoaDAO = new PessoaDAO();
MensagemXML msg = new MensagemXML();
retorno = PessoaDAO.atualizaPessoa(codPessoa);
switch (retorno) {
case 0:
msg.setCodigo(-1001);
msg.setDescricao("Pessoa não encontrada. Nenhum registro foi atualizado.");
break;
default:
msg.setCodigo(0);
msg.setDescricao("Concluído com sucesso.");
break;
}
return msg;
}
}
//Console - erros
Grave: Mapped exception to response: 500 (Internal Server Error)
javax.ws.rs.WebApplicationException: com.sun.jersey.api.MessageException: A message body writer for Java class meupacote.model.MensagemXML, and Java type class meupacote.model.MensagemXML, and MIME media type application/xml was not found
at com.sun.jersey.spi.container.ContainerResponse.write(ContainerResponse.java:285)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1437)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1349)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1339)
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:537)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:708)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:722)
Caused by: com.sun.jersey.api.MessageException: A message body writer for Java class meupacote.model.MensagemXML, and Java type class meupacote.model.MensagemXML, and MIME media type application/xml was not found
... 20 more