android - A message body writer for Java type, class java.util.ArrayList, and MIME media type, application/xml, was not found -
this code calling android
restclient rs = new restclient(webservicepatterns.services_url); rs.addparam("role_id", "6"); try { rs.sendparams_receivetext();// call webservice } rs.getresponse()
here restclient's method.
public void sendparams_receivetext() throws exception { http_client = new defaulthttpclient(); http_post = new httppost(uri); http_post.setentity(new urlencodedformentity(params)); http_response = http_client.execute(http_post); http_entity = http_response.getentity(); response = entityutils.tostring(http_entity); }
here server side web service code
@produces("application/xml") @path("services") @singleton public class services_service { public services_service() { } @post @path("getservices") public list<servicesbean> getservices(@formparam("role_id") string role_id) { services_db db = new services_db(); list<servicesbean> services_data = db.myservices(role_id); return services_data; } }
here myservices code
......... private treemap<integer, servicesbean> servicesdata = new treemap<integer, servicesbean>(); ......... public list<servicesbean> myservices(string role_id) { list<servicesbean> entirelist = new arraylist<servicesbean>(); servicesbean bean = new servicesbean(); try { sql = "select a,b,c testtable ......."; rs = stmt.executequery(sql); if (rs != null && rs.next()) { { bean = new servicesbean(); bean.setservice_id(rs.getstring("a")); bean.setservice_name(rs.getstring("b")); bean.setservice_short_name(rs.getstring("c")); int id = servicesdata.size(); servicesdata.put(id, bean); } while (rs.next()); } entirelist.addall(servicesdata.values()); } return entirelist;
the problem getting errors this.
7 oct, 2013 5:08:05 pm com.sun.jersey.spi.container.containerresponse write severe: message body writer java type, class java.util.arraylist, , mime media type, application/xml, not found 7 oct, 2013 5:08:05 pm com.sun.jersey.server.impl.application.webapplicationimpl onexception severe: internal server error javax.ws.rs.webapplicationexception @ com.sun.jersey.spi.container.containerresponse.write(containerresponse.java:241) @ com.sun.jersey.server.impl.application.webapplicationimpl._handlerequest(webapplicationimpl.java:724) @ com.sun.jersey.server.impl.application.webapplicationimpl.handlerequest(webapplicationimpl.java:647) @ com.sun.jersey.server.impl.application.webapplicationimpl.handlerequest(webapplicationimpl.java:638) @ com.sun.jersey.spi.container.servlet.webcomponent.service(webcomponent.java:309) @ com.sun.jersey.spi.container.servlet.servletcontainer.service(servletcontainer.java:425) @ com.sun.jersey.spi.container.servlet.servletcontainer.service(servletcontainer.java:590) @ javax.servlet.http.httpservlet.service(httpservlet.java:803) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:290) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:230) @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:175) @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:128) @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:104) @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:109) @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:261) @ org.apache.coyote.http11.http11processor.process(http11processor.java:844) @ org.apache.coyote.http11.http11protocol$http11connectionhandler.process(http11protocol.java:581) @ org.apache.tomcat.util.net.jioendpoint$worker.run(jioendpoint.java:447) @ java.lang.thread.run(thread.java:619)
could please me out.
the error message telling you, jersey not know how transform list
of servicebean
objects valid xml.
what missing object marshaller jaxb job you.
take @ chapter 6 of this tutorial. explained.
Comments
Post a Comment