ALT Mobile DEV wrote:
>
>>> I was running the chat sample from the GlassFish download to ensure
>>> that my CometHandler was working but got this:
>>> Jan 18, 2008 8:45:09 AM
>>> com.sun.grizzly.standalone.StaticResourcesAdapter <init>
>>> INFO: New Servicing page from: /Users/.../ALTMobile/objsvr
>>> Bayeux Server startup in 153 ms
>>> Jan 18, 2008 8:48:34 AM com.sun.grizzly.http.DefaultProcessorTask
>>> invokeAdapter
>>> SEVERE: processorTask.serviceError
>>> java.lang.ClassCastException: java.lang.Double cannot be cast to
>>> java.lang.String
>>> at
>>> com.sun.grizzly.cometd.bayeux.VerbUtils.newHandshake(VerbUtils.java:125)
>>>
>>> at
>>> com.sun.grizzly.cometd.bayeux.VerbUtils.parseMap(VerbUtils.java:97)
>>> at com.sun.grizzly.cometd.bayeux.VerbUtils.parse(VerbUtils.java:69)
>>> at
>>> com.sun.grizzly.cometd.EventRouterImpl.route(EventRouterImpl.java:91)
>>> at
>>> com.sun.grizzly.cometd.standalone.CometdAdapter.service(CometdAdapter.java:240)
>>> at
>>> com.sun.grizzly.http.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:599)
>>> at
>>> com.sun.grizzly.comet.CometEngine.executeServlet(CometEngine.java:547)
>>> at com.sun.grizzly.comet.CometEngine.handle(CometEngine.java:299)
>>> at
>>> com.sun.grizzly.comet.CometAsyncFilter.doFilter(CometAsyncFilter.java:87)
>>>
>>> at
>>> com.sun.grizzly.arp.DefaultAsyncExecutor.invokeFilters(DefaultAsyncExecutor.java:162)
>>> at
>>> com.sun.grizzly.arp.DefaultAsyncExecutor.interrupt(DefaultAsyncExecutor.java:140)
>>> at
>>> com.sun.grizzly.arp.AsyncProcessorTask.doTask(AsyncProcessorTask.java:79)
>>>
>>> at com.sun.grizzly.http.TaskBase.call(TaskBase.java:346)
>>> at
>>> com.sun.grizzly.util.WorkerThreadImpl.run(WorkerThreadImpl.java:179)
>>> I haven't had the chance to study and modify the JavaScript but I
>>> wanted you to see if I missed something fundamental.
>>
>> Hum...this is strange. Is this with the trunk? Which version of
>> Grizzly? Can you post your Javascript?
According to the above stack trace, the version number is passed as
double in request.
This is not correct according to Bayeux Protocol:
version = integer *( "." version_element )
version_element = alphanum *( alphanum | "-" | "_" )
It should be a String. How is the request generated?
Regards,
Shing Wai Chan