Yes, this feature isn't launched in the production server yet.

You can try it out in the 1.3.5 DevAppServer, but it requires a slightly
workaround:

Extract the "apphosting/tools/dev-channel-js.js" file from
appengine-api-1.0-sdk-1.3.5.jar and move it to /_ah/channel/jsapi in your
war directory (as if it were a static file).

Your HTML should then use <script src="/_ah/channel/jsapi">.  You should not
reference http://talkgadget.google.com/talkgadget/channel.js directly.  That
path will never work in the DevAppServer.  The dance-dance-robot sample will
be updated when 1.3.6 is launched and this works in the DevAppServer without
the above workaround.

On Mon, Jul 19, 2010 at 10:13 PM, GoSharp Lite <[email protected]>wrote:

> I have the same error using dev server.
>
> If you deploy your app to production server, below error log shows
> channel service is not enable.
>
> exception: com.google.apphosting.api.ApiProxy
> $FeatureNotEnabledException: The channel service is not enabled.
>
> It seems we have to patiently wait:)
>
> On Jul 20, 10:36 am, Daniel Guermeur <[email protected]> wrote:
> > Thanks for the tip about channel.js. This is what I needed.
> >
> > Now I get an error when pushing a message to a client. I get this:
> >
> > com.google.appengine.api.channel.ChannelFailureException: An
> > unexpected error occurred.
> > Caused by: com.google.apphosting.api.ApiProxy$ApplicationException:
> > ApplicationError: 2:
> >
> > Here is the stack trace. Let me know of any ideas you might have.
> >
> > Thanks!
> > Daniel
> >
> > SEVERE: Failed to push the message
> > com.metadot.book.stalkrapp.shared.mess...@1010a3b to client channel-
> > [email protected]
> > com.google.appengine.api.channel.ChannelFailureException: An
> > unexpected error occurred.
> >         at
> >
> com.google.appengine.api.channel.ChannelServiceImpl.sendMessage(ChannelServiceImpl.java:
> > 59)
> >         at
> >
> com.metadot.book.stalkrapp.server.PushServer.sendMessageToOneUser(PushServer.java:
> > 82)
> >         at
> >
> com.metadot.book.stalkrapp.server.FriendsServiceImpl.getFriend(FriendsServiceImpl.java:
> > 283)
> >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >         at
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
> > 39)
> >         at
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
> > 25)
> >         at java.lang.reflect.Method.invoke(Method.java:597)
> >         at
> >
> com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:
> > 100)
> >         at
> > com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:
> > 562)
> >         at
> >
> com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:
> > 188)
> >         at
> >
> com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:
> > 224)
> >         at
> >
> com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:
> > 62)
> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
> >         at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
> > 511)
> >         at org.mortbay.jetty.servlet.ServletHandler
> > $CachedChain.doFilter(ServletHandler.java:1166)
> >         at
> >
> com.metadot.book.stalkrapp.server.servlets.LoginFilter.doFilter(LoginFilter.java:
> > 31)
> >         at org.mortbay.jetty.servlet.ServletHandler
> > $CachedChain.doFilter(ServletHandler.java:1157)
> >         at
> >
> com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:
> > 51)
> >         at org.mortbay.jetty.servlet.ServletHandler
> > $CachedChain.doFilter(ServletHandler.java:1157)
> >         at
> >
> com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:
> > 43)
> >         at org.mortbay.jetty.servlet.ServletHandler
> > $CachedChain.doFilter(ServletHandler.java:1157)
> >         at
> >
> com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:
> > 122)
> >         at org.mortbay.jetty.servlet.ServletHandler
> > $CachedChain.doFilter(ServletHandler.java:1157)
> >         at
> > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
> > 388)
> >         at
> > org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
> > 216)
> >         at
> > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
> > 182)
> >         at
> > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
> > 765)
> >         at
> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
> > 418)
> >         at
> >
> com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:
> > 70)
> >         at
> > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
> > 152)
> >         at com.google.appengine.tools.development.JettyContainerService
> > $ApiProxyHandler.handle(JettyContainerService.java:349)
> >         at
> > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
> > 152)
> >         at org.mortbay.jetty.Server.handle(Server.java:326)
> >         at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
> > 542)
> >         at org.mortbay.jetty.HttpConnection
> > $RequestHandler.content(HttpConnection.java:938)
> >         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
> >         at
> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
> >         at
> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> >         at
> > org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
> > 409)
> >         at org.mortbay.thread.QueuedThreadPool
> > $PoolThread.run(QueuedThreadPool.java:582)
> > Caused by: com.google.apphosting.api.ApiProxy$ApplicationException:
> > ApplicationError: 2:
> >         at
> >
> com.google.appengine.api.channel.dev.LocalChannelService.sendChannelMessage(LocalChannelService.java:
> > 91)
> >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >         at
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
> > 39)
> >         at
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
> > 25)
> >         at java.lang.reflect.Method.invoke(Method.java:597)
> >         at com.google.appengine.tools.development.ApiProxyLocalImpl
> > $AsyncApiCall.call(ApiProxyLocalImpl.java:305)
> >         at com.google.appengine.tools.development.ApiProxyLocalImpl
> > $AsyncApiCall.call(ApiProxyLocalImpl.java:262)
> >         at java.util.concurrent.Executors$PrivilegedCallable
> > $1.run(Executors.java:463)
> >         at java.security.AccessController.doPrivileged(Native Method)
> >         at java.util.concurrent.Executors
> > $PrivilegedCallable.call(Executors.java:460)
> >         at
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> >         at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> >         at java.util.concurrent.ThreadPoolExecutor
> > $Worker.runTask(ThreadPoolExecutor.java:886)
> >         at java.util.concurrent.ThreadPoolExecutor
> > $Worker.run(ThreadPoolExecutor.java:908)
> >         at java.lang.Thread.run(Thread.java:637)
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine for Java" group.
> To post to this group, send email to
> [email protected].
> To unsubscribe from this group, send email to
> [email protected]<google-appengine-java%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/google-appengine-java?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to