This is the complete trace. But the stack trace is a result of the
failed instantiation. Strange it works on localhost.
2009-06-19 12:30:31.226::DEBUG: REQUEST /football/includepathgenerator
on org.mortbay.jetty.HttpConnection_at_4e68fb
2009-06-19 12:30:31.226::DEBUG:
servlet=com.sun.ws.rest.spi.container.servlet.ServletContainer-23686363
2009-06-19 12:30:31.226::DEBUG: chain=null
2009-06-19 12:30:31.226::DEBUG: servlet
holder=com.sun.ws.rest.spi.container.servlet.ServletContainer-23686363
19-Jun-2009 12:30:31 com.sun.ws.rest.api.core.PackagesResourceConfig
init
INFO: Scanning for root resource and provider classes in the packages:
com.bbc.newsi.feeds.sport.webservice.football.resources
com.bbc.newsi.feeds.sport.webservice.providers
19-Jun-2009 12:30:31 com.sun.ws.rest.api.core.PackagesResourceConfig
init
INFO: Root resource classes found:
class
com.bbc.newsi.feeds.sport.webservice.football.resources.FootballMatchRes
ource
class
com.bbc.newsi.feeds.sport.webservice.football.resources.FootballResource
class
com.bbc.newsi.feeds.sport.webservice.football.resources.FootballIncludeP
athGeneratorResource
class
com.bbc.newsi.feeds.sport.webservice.football.resources.FootballFixtureR
esource
class
com.bbc.newsi.feeds.sport.webservice.football.resources.FootballCompetit
ionResource
class
com.bbc.newsi.feeds.sport.webservice.football.resources.FootballIncludeP
athsResource
class
com.bbc.newsi.feeds.sport.webservice.football.resources.FootballCompetit
ionListResource
19-Jun-2009 12:30:31 com.sun.ws.rest.api.core.PackagesResourceConfig
init
INFO: Provider classes found:
class
com.bbc.newsi.feeds.sport.webservice.providers.FreemarkerTemplateProcess
or
19-Jun-2009 12:30:31
com.sun.ws.rest.impl.application.ComponentProviderCache getComponent
WARNING: The provider class, class
com.bbc.newsi.feeds.sport.webservice.providers.FreemarkerTemplateProcess
or, could not
be instantiated
2009-06-19 12:30:31.492::WARN: /football/includepathgenerator
java.io.IOException: The template name, /include_path_generator.ftl,
could not be resolved to the path of a template
at
com.sun.ws.rest.impl.template.ViewableMessageBodyWriter.writeTo(Viewable
MessageBodyWriter.java:72)
at
com.sun.ws.rest.impl.template.ViewableMessageBodyWriter.writeTo(Viewable
MessageBodyWriter.java:41)
at
com.sun.ws.rest.spi.container.AbstractContainerResponse.writeEntity(Abst
ractContainerResponse.java:258)
at
com.sun.ws.rest.spi.container.AbstractContainerResponse.writeEntity(Abst
ractContainerResponse.java:235)
at
com.sun.ws.rest.impl.container.servlet.HttpResponseAdaptor.commitAll(Htt
pResponseAdaptor.java:127)
at
com.sun.ws.rest.spi.container.servlet.ServletContainer.service(ServletCo
ntainer.java:141)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
at
org.mortbay.jetty.handler.HandlerList.handle(HandlerList.java:49)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:320)
at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConne
ction.java:828)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
at
org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at
org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
at
org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.jav
a:228)
at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.ja
va:450)
2009-06-19 12:30:31.507::DEBUG: GET /football/includepathgenerator
HTTP/1.1
Accept: */*
Accept-Language: en-gb
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET
CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.
04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
Host: noldev40:8081
Connection: Keep-Alive
Cache-Control: no-cache
2009-06-19 12:30:31.523::DEBUG: RESPONSE /football/includepathgenerator
500
________________________________
From: Paul.Sandoz_at_Sun.COM [mailto:Paul.Sandoz_at_Sun.COM]
Sent: 19 June 2009 12:20
To: users_at_jersey.dev.java.net
Cc: Jonathan Cook - FM&T
Subject: Re: [Jersey] Cannot Instantiate new provider
On Jun 19, 2009, at 12:51 PM, Jonathan Cook - FM&T wrote:
Hi,
I have a problem were I have written my own
FreeMarkerTemplateProcessor. Everything works nicely but when I deploy
my application it registers the new provider successfully but then it
complains that it can't instantiate the new class and then goes on to
fail I assume because it can't do the freemarker initialisation.
19-Jun-2009 11:11:58
com.sun.ws.rest.api.core.PackagesResourceConfig init
INFO: Provider classes found:
class
com.bbc.newsi.feeds.sport.webservice.providers.FreemarkerTemplateProcess
or
19-Jun-2009 11:11:58
com.sun.ws.rest.impl.application.ComponentProviderCache get
Component
WARNING: The provider class, class
com.bbc.newsi.feeds.sport.webservice.provider
s.FreemarkerTemplateProcessor, could not be instantiated
Is any stack trace provided as to why it cannot instantiate?
Can you send the code for the class?
2009-06-19 11:11:58.110::WARN: /football/includepathgenerator:
java.io.IOExcept
ion: The template name, /include_path_generator.ftl, could not
be resolved to th
e path of a template
Should I have a default constructor explicitly in the class? Is
there some condition when accessing the application remotely that the
templateprocessor won't get instantiated because as I say it all works
locally? I'm using an embedded instance of jetty as the web server.
Are your dependencies correct for the remote deployment?
Paul.
I'm using the following annotations at the top of the class:
@Provider
@Singleton
Any ideas?
Thanks
Jonathan