RPC works with IE6 but not Firefox 1.5

2 views
Skip to first unread message

pierrot

unread,
Jul 19, 2006, 12:51:48 PM7/19/06
to Google Web Toolkit
Hi,

I've created an application that works with IE6 but not with Firefox
1.5

I mean if I open the html directly from my development folder it works
with IE6 but not with Firefox 1.5

On the other hand the html works fine with the hosted mode. I've also
noticed that every time I directly open the html with IE6 a message
pops up asking me to authorize the execution of a script. I don't get
this message with Firefox and it's why I was wondering if there was a
parameter that has to be set in Firefox to authorize the execution of
the script.

Cheerio.

Mel

unread,
Jul 19, 2006, 3:58:33 PM7/19/06
to Google Web Toolkit
Pierre,

In firefox under the tools select options. Then select content and
make sure Enable Java and Enable JavaScript are checked. Click the
Advanced... button and make sure the the following buttons are checked:

Move or resize existing windows
Raise or lower windows
Disable or replace context menus

Hope that helps.

pierrot

unread,
Jul 20, 2006, 7:32:17 AM7/20/06
to Google Web Toolkit
Thanks Mel but it doesn't work. I had already verified that.

My application is deployed in my Tomcat and it works with both IE6 and
Firefox with the following:

http://localhost:8080/MyRPC2/www/com.uniksoft.MyRPC/MyRPC.html

I copied the www folder to my Apache web server and it only works with
IE6.

http://localhost/www/com.uniksoft.MyRPC/MyRPC.html

Any suggestion at all?

Cheerio.

pierrot

unread,
Jul 21, 2006, 6:53:17 PM7/21/06
to Google Web Toolkit
Hi all,

I've downloaded a Web Proxy Analyzer and have been able to find out
that the RPC calls (HTTP Request) works with IE6 but not with Firefox.
I mean it seems Firefox doesn't want to send a HTTP Request from
http://localhost:80/blablabla to http://localhost:8080/barbarbar.

Has the Google developers acknowledged that this is a problem with
Firefox? Can it be fixed without digging into the gwt.js? Is there a
workaround solution or will it be fixed in the next GWT release?

Cheerio.

bjorn

unread,
Jul 22, 2006, 12:44:39 AM7/22/06
to Google Web Toolkit
Hi Pierrot,

I think this is a security measure from the browsers, that you
shouldn't normally be able to RPC to another server than the one the
Javascript originated from (the originating server). Think I read in
this forum somewhere that IE is less restrictive than FireFox in that
IE gives the user a choice to run the cross-domain script (hence the
authorization confirmation dialog that you got), but FireFox doesn't
even bother to ask it seems.

Quick google on "javascript originating server" gave this which on a
quick glance seems relevant to what I mean:

http://benlog.com/articles/2006/02/15/cross-domain-ajax/

Hope this helps, Björn

pierrot

unread,
Jul 23, 2006, 5:31:29 AM7/23/06
to Google Web Toolkit
Thanks Björn,

>Think I read in
>this forum somewhere that IE is less restrictive than FireFox in that
>IE gives the user a choice to run the cross-domain script (hence the
>authorization confirmation dialog that you got), but FireFox doesn't
>even bother to ask it seems.

I also found out that Firefox does not permit RPC calls from
localhost:80 (my Apache server) to localhost:8080 (my Tomcat server)
even though they both run on the same machine! I mean the script is
downloaded from domain localhost:80 into Firefox and RPC calls will be
restricted to domain localhost:80 only.

I had to configure the Apache as a reverse proxy server to allow
cross-domain RPC calls. Basic instructions to do reverse proxying with
Apache can be found at the following:
http://www.serverwatch.com/tutorials/article.php/10825_3290851_3

Cheerio.

pierrot

unread,
Jul 23, 2006, 9:14:43 AM7/23/06
to Google Web Toolkit
As an afterthought this is the setting of the Apache httpd.conf

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

ProxyRequests Off
ProxyPass /testRPC/date http://localhost:8080/testRPC/date
ProxyPassReverse /testRPC/date http://localhost:8080/testRPC/date

This is the setting of endpoint.setServiceEntryPoint();
endpoint.setServiceEntryPoint("http://localhost/testRPC/date");

When a RPC request is sent to http://localhost/testRPC/date the Apache
Server will redirect it to http://localhost:8080/testRPC/date to the
Tomcat server.

Cheerio.

Reply all
Reply to author
Forward
0 new messages