I am a GWT noob but am working with someone else who is more advanced
than I, and we cannot figure out why a cookie being returned by the
server as a Set-Cookie HTTP header is not actually being set in the
browser.

I wrote a server using Tomcat that has an authentication call. I wrote
a dummy website all in HTML that uses web forms to send a request to
the server with the authentication information and receives a response
that contains a Set-Cookie header. This all works. It then has a
second button in a different form on the same page that sends a
different request to my server with some form data, and the browser
automatically injects the cookie into the header as expected.
Therefore, the server, for the second call, can pull the cookie header
out of the request and authenticate the request. This all works and is
great.

Now, for the test GWT application we have developed, I have used the
code that is automatically generated when a new GWT application is
developed (no AppEngine) and modified it in the following ways on the
client side's EntryPoint class. I removed the TextBox for entering my
name and the GWT RPC calls. I modified MyHandler so that it no longer
implemented KeyPressedListener or whatever and does implement
RequestCallback. I edited the contents of the onClick to create a new
RequestBuilder that sends a POST with the authentication information.
So far, this all works as I can watch the logs on my server and it
receives the request, processes it, and places the authentication
cookie in the response. Using Firebug, I can see that the response
contains the Set-Cookie header with the necessary cookie information.
However, the browser never actually saves this information.
Unsurprisingly, a subsequent call to the server doesn't include the
cookie.

GWT is just compiled into JavaScript when deployed, correct? And
JavaScript can't inject itself between the HTTP response and the
browser can it? I have checked the Response object that is a parameter
to the onResponseReceived() call from the RequestCallback interface,
and it doesn't contain any method to get access to the cookie except
through the getHeaders() call. I have dumped the results of this call,
though, and it doesn't exist there. Anyway, the browser should at
least be getting access to the HTTP header before the code and should
be grabbing and setting the cookie values before handing the code to
GWT. Not only am I new to GWT, I am new to most HTTP client-side
development, but am I really that far off track?

Thank you,

John

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" 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-web-toolkit?hl=en.

Reply via email to