users@jersey.java.net

[Jersey] Re: Twitter4j & Jersey: WebApplicationException

From: Mark Petrovic <mspetrovic_at_gmail.com>
Date: Sun, 6 Mar 2011 19:42:39 -0800

Try this:

Create a class called TweetBag that will contain the salient parts of your Tweet instance, place the two class level annotations that appear in this example

http://blog.adamsbros.org/2010/02/07/jaxb-example-code/

on the TweetBag class, and return the TweetBag instance.

On Mar 6, 2011, at 6:43 PM, mahan_h <mahorad_at_gmail.com> wrote:

> Hello Gurus,
>
> I'm trying to create a service with jersey using twitter4j but when
> accessing the service to fetch even one twit (let alone a list of them), I
> get the following error:
>
> SEVERE: Internal server error
> javax.ws.rs.WebApplicationException
> at
> com.sun.jersey.spi.container.ContainerResponse.write(ContainerResponse.java:241)
> at
> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)
> at
> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:647)
> at
> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:638)
> at
> com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:309)
> at
> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)
> at
> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:590)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> 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:230)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Thread.java:619)
> Mar 7, 2011 3:31:09 AM com.sun.jersey.spi.container.ContainerResponse write
> SEVERE: A message body writer for Java type, class twitter4j.TweetJSONImpl,
> and MIME media type, application/octet-stream, was not found
> Mar 7, 2011 3:31:09 AM
> com.sun.jersey.server.impl.application.WebApplicationImpl onException
> SEVERE: Internal server error
> javax.ws.rs.WebApplicationException
> at
> com.sun.jersey.spi.container.ContainerResponse.write(ContainerResponse.java:241)
> at
> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)
> at
> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:647)
> at
> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:638)
> at
> com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:309)
> at
> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)
> at
> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:590)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> 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:230)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Thread.java:619)
>
>
>
> this is the service itself:
>
> @Path("search")
> public class TweetResource {
>
> @GET
> @Path("{phrase}")
> public Tweet searchPhrase(@PathParam("phrase") String keyword) {
> Twitter twitter = new TwitterFactory().getInstance();
> List tweets = new ArrayList();
> try {
> Query q = new Query(keyword);
> QueryResult result = twitter.search(q);
> tweets = result.getTweets();
> } catch (TwitterException te) {
> te.printStackTrace();
> System.out.println("Failed to search tweets: " + te.getMessage());
> }
> return tweets.get(0);
> }
> }
>
> --
> View this message in context: http://jersey.576304.n2.nabble.com/Twitter4j-Jersey-WebApplicationException-tp6095973p6095973.html
> Sent from the Jersey mailing list archive at Nabble.com.