Well...
i've tried simplyfing the channelId, but that didn't solve the problem
So we migrated to version 1.5.0.
As a result we now do not get the "application key is null..." exception,
but instead we get another exception when creating the channel:

> [ERROR] 2011-06-16 15:05:01.426:WARN::/_ah/channel/dev
> [ERROR] java.lang.ClassCastException:
> com.google.appengine.tools.development.ApiProxyLocalImpl cannot be cast to
> com.google.appengine.tools.development.ApiProxyLocal
> [ERROR] at
> com.google.appengine.api.channel.dev.LocalChannelServlet.getLocalChannelService(LocalChannelServlet.java:81)
> [ERROR] at
> com.google.appengine.api.channel.dev.LocalChannelServlet.doGet(LocalChannelServlet.java:89)
> [ERROR] at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
> [ERROR] at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> [ERROR] at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
> [ERROR] at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
> [ERROR] at
> com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:66)
> [ERROR] at
> com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
> [ERROR] at
> com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
> [ERROR] at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
> [ERROR] at
> com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:35)
> [ERROR] at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
> [ERROR] at
> com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:58)
> [ERROR] at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
> [ERROR] at
> com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
> [ERROR] at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
> [ERROR] at
> com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:122)
> [ERROR] at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
> [ERROR] at
> com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:94)
> [ERROR] at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
> [ERROR] at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
> [ERROR] at
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
> [ERROR] at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
> [ERROR] at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
> [ERROR] at
> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
> [ERROR] at
> com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:70)
> [ERROR] at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> [ERROR] at
> com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:351)
> [ERROR] at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> [ERROR] at org.mortbay.jetty.Server.handle(Server.java:326)
> [ERROR] at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
> [ERROR] at
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923)
> [ERROR] at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547)
> [ERROR] at
> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
> [ERROR] at
> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> [ERROR] at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
> [ERROR] at
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)


However running gwt-gae-channel sample project works.
One difference we have noticed is that our token looks different than the
gwt-gae-channel sample project token.
Example of our token: channel--j5okj1-test
gwt-gae-channel token: channel-j5okj1-test
As you see our token has one hyphen more.

Any ideas?
Thanks,
Z

On Wed, Jun 15, 2011 at 9:15 PM, Zerot Samsa <zerotsa...@gmail.com> wrote:

> Thanks for the quick reply.
> At least now I get what's happening under the hood ;)
> I will try to simplify the client id and will inform you about the result.
>
> We are using SDK 1.4.2
> Do you think that might be the problem?
> If so, we will try to migrate to 1.5.
>
> Thanks so far.
> I will post the result of simplyfing the client when I get to do it.
>
>
>
> On Wed, Jun 15, 2011 at 8:09 PM, Moishe <mois...@google.com> wrote:
>
>> First, what version of the SDK are you using? It looks like you're
>> using something before 1.5.0 (based on the text of the error message)
>> -- can you try with 1.5.0?
>>
>> Basically the logic that's happening here is:
>>
>>  - the application calls create channel
>>  - the dev appserver gins up a token consisting of a random string
>> plus the application-provided client id
>>  - the dev appserver adds this token to a hashmap of token -> clientid
>>  - the dev appserver returns the token
>>
>> Later, when the client connects, this happens:
>>
>>  - the client makes a post to /_ah/channel/dev?
>> command=connect&channel={{token}}
>>  - the dev appserver intercepts this request and looks up the
>> "channel" query param in the hashmap of token -> clientid
>>
>> What seems to be happening in your case is that the dev appserver
>> can't extract the "channel" query param based on the "application key
>> is null" error. All I can think of is that there's something in the
>> token that's preventing the query params from being parsed correctly.
>> As a test, can you try simplifying your client id? (I can't read the
>> whole thing because Groups thinks it's an email address and elides it)
>>
>> --
>> 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
>> google-appengine-java@googlegroups.com.
>> To unsubscribe from this group, send email to
>> google-appengine-java+unsubscr...@googlegroups.com.
>> 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 google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to