You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by Jean-Sebastien Delfino <js...@apache.org> on 2010/12/28 03:59:50 UTC

Tuscany Javascript clients don't work with IE

Hi all,

The Javascript client code used in Tuscany's 'Web 2.0' apps like 
samples/store doesn't seem to work with MS Internet Explorer.

To reproduce the problems start the samples/store app and point IE to 
http://localhost:8080/store.

I tried two versions of IE with both Tuscany 2.0-beta1 and 1.6.1:
- IE6 v6.0.2900.2180.xpsp_sp2_rtm.040803-2158 just hangs using 100% cpu.
- IE8 v8.0.6001.18702 doesn't refresh the cart as you shop.

Are others seeing these problems with IE too?
-- 
Jean-Sebastien

Re: Tuscany Javascript clients don't work with IE

Posted by Jean-Sebastien Delfino <js...@apache.org>.
On 01/04/2011 07:23 AM, ant elder wrote:
> On Mon, Jan 3, 2011 at 3:50 AM, Jean-Sebastien Delfino
...
>> I'm now trying to run the samples/applications/store app. The steps in the
>> README only work with a binary distribution, which I don't have as I've only
>> built modules/.
>>
>> How can I run the sample from a development tree build without a binary
>> distribution?
>
> There are a bunch of different approaches to doing that used by all
> the samples, its something i think for 2.0 we need to improve and make
> consistent across them all.

+1

For now with this one for you i've just
> updated it to included the exec-maven-plugin so you can run it by
> doing "mvn exec:java"

That works. Thanks.

-- 
Jean-Sebastien

Re: Tuscany Javascript clients don't work with IE

Posted by ant elder <an...@gmail.com>.
On Mon, Jan 3, 2011 at 3:50 AM, Jean-Sebastien Delfino
<js...@apache.org> wrote:
> On 01/02/2011 06:14 PM, Jean-Sebastien Delfino wrote:
>>
>> On 01/02/2011 02:37 PM, Luciano Resende wrote:
>>>
>>> On Sat, Jan 1, 2011 at 10:30 PM, Jean-Sebastien Delfino
>>> <js...@apache.org> wrote:
>>>>
>>>> On 01/01/2011 03:28 PM, Luciano Resende wrote:
>>>>>
>>>>> On Thu, Dec 30, 2010 at 12:54 AM, Jean-Sebastien Delfino
>>>>> <js...@apache.org> wrote:
>>>>>>
>>>>>> On 12/29/2010 08:20 AM, Luciano Resende wrote:
>>>>>> ...
>>>>>>>
>>>>>>> I'll take a look at this today, but unfortunately I'll be driving
>>>>>>> blind to certain extent as I don't have a IE environment to test.
>>>>>>> Could you help validating the fix once I apply the fix on the Java
>>>>>>> runtime ?
>>>>>>>
>>>>>>
>>>>>> Sure, just point me to updated JARs and I'll give them a try.
>>>>>>
>>>>>> --
>>>>>> Jean-Sebastien
>>>>>>
>>>>>
>>>>> I've fixed the refresh issue with TUSCANY-3812 and tested in IE8. I
>>>>> didn't change anything related to the content-type header containing
>>>>> type=xxx, so I'm assuming you are still going to have the IE6 issue.
>>>>> Could you please check and report back if things are working better
>>>>> for you.
>>>>>
>>>>> [1] https://issues.apache.org/jira/browse/TUSCANY-3812
>>>>>
>>>>>
>>>>
>>>> Could you point me to updated JARs that I could just use on top of a
>>>> the 2.0
>>>> Beta1 release to test this patch?
>>>>
>>>> I had not rebuilt Tuscany Java from source for some time. I've tried
>>>> today
>>>> for 2 hours and failed with test errors, Maven download timeouts,
>>>> 100% CPU
>>>> consumption making my laptop overheat, and now this:
>>>>
>>>> [INFO]
>>>> ------------------------------------------------------------------------
>>>> [INFO] Building Apache Tuscany SCA iTest WS JAXWS External Service
>>>> [INFO] task-segment: [install]
>>>> [INFO]
>>>> ------------------------------------------------------------------------
>>>> [INFO]
>>>> ------------------------------------------------------------------------
>>>> [ERROR] FATAL ERROR
>>>> [INFO]
>>>> ------------------------------------------------------------------------
>>>> Exception in thread "main" java.lang.OutOfMemoryError: PermGen space
>>>>
>>>> I'm giving up for now as after 2 hours my time window for this has
>>>> expired,
>>>> but are others able to build the source tree? How long and how much
>>>> space
>>>> does it take for you?
>>>>
>>>> --
>>>> Jean-Sebastien
>>>>
>>>
>>> I guess you are getting a little spoiled with the Native runtime :)
>>
>> Yeah :)
>>
>>>
>>> I had a successful top-down build in a MAC -OS environment (and just
>>> tried modules in ubuntu ok as well and took around 15 mins)
>>
>> Are you building with a fresh empty Maven repository? How long does the
>> top-down build take?
>>
>>>
>>> I have the following set in my maven_opts :
>>> MAVEN_OPTS='-Xmx1024m -XX:MaxPermSize=384m'
>>>
>>> You should be able to build only the modules folder with :
>>> mvn -fae -Dmaven.test.skip=true clean install
>>>
>>> and then run the store sample.
>>>
>>
>> OK, I'll try to build modules/ only with these options.
>>
>
> I finally got a successful build of the modules/ sub-tree.
>
> I'm now trying to run the samples/applications/store app. The steps in the
> README only work with a binary distribution, which I don't have as I've only
> built modules/.
>
> How can I run the sample from a development tree build without a binary
> distribution?

There are a bunch of different approaches to doing that used by all
the samples, its something i think for 2.0 we need to improve and make
consistent across them all. For now with this one for you i've just
updated it to included the exec-maven-plugin so you can run it by
doing "mvn exec:java"

   ...ant


   ...ant

Re: Tuscany Javascript clients don't work with IE

Posted by Jean-Sebastien Delfino <js...@apache.org>.
On 01/02/2011 06:14 PM, Jean-Sebastien Delfino wrote:
> On 01/02/2011 02:37 PM, Luciano Resende wrote:
>> On Sat, Jan 1, 2011 at 10:30 PM, Jean-Sebastien Delfino
>> <js...@apache.org> wrote:
>>> On 01/01/2011 03:28 PM, Luciano Resende wrote:
>>>>
>>>> On Thu, Dec 30, 2010 at 12:54 AM, Jean-Sebastien Delfino
>>>> <js...@apache.org> wrote:
>>>>>
>>>>> On 12/29/2010 08:20 AM, Luciano Resende wrote:
>>>>> ...
>>>>>>
>>>>>> I'll take a look at this today, but unfortunately I'll be driving
>>>>>> blind to certain extent as I don't have a IE environment to test.
>>>>>> Could you help validating the fix once I apply the fix on the Java
>>>>>> runtime ?
>>>>>>
>>>>>
>>>>> Sure, just point me to updated JARs and I'll give them a try.
>>>>>
>>>>> --
>>>>> Jean-Sebastien
>>>>>
>>>>
>>>> I've fixed the refresh issue with TUSCANY-3812 and tested in IE8. I
>>>> didn't change anything related to the content-type header containing
>>>> type=xxx, so I'm assuming you are still going to have the IE6 issue.
>>>> Could you please check and report back if things are working better
>>>> for you.
>>>>
>>>> [1] https://issues.apache.org/jira/browse/TUSCANY-3812
>>>>
>>>>
>>>
>>> Could you point me to updated JARs that I could just use on top of a
>>> the 2.0
>>> Beta1 release to test this patch?
>>>
>>> I had not rebuilt Tuscany Java from source for some time. I've tried
>>> today
>>> for 2 hours and failed with test errors, Maven download timeouts,
>>> 100% CPU
>>> consumption making my laptop overheat, and now this:
>>>
>>> [INFO]
>>> ------------------------------------------------------------------------
>>> [INFO] Building Apache Tuscany SCA iTest WS JAXWS External Service
>>> [INFO] task-segment: [install]
>>> [INFO]
>>> ------------------------------------------------------------------------
>>> [INFO]
>>> ------------------------------------------------------------------------
>>> [ERROR] FATAL ERROR
>>> [INFO]
>>> ------------------------------------------------------------------------
>>> Exception in thread "main" java.lang.OutOfMemoryError: PermGen space
>>>
>>> I'm giving up for now as after 2 hours my time window for this has
>>> expired,
>>> but are others able to build the source tree? How long and how much
>>> space
>>> does it take for you?
>>>
>>> --
>>> Jean-Sebastien
>>>
>>
>> I guess you are getting a little spoiled with the Native runtime :)
>
> Yeah :)
>
>>
>> I had a successful top-down build in a MAC -OS environment (and just
>> tried modules in ubuntu ok as well and took around 15 mins)
>
> Are you building with a fresh empty Maven repository? How long does the
> top-down build take?
>
>>
>> I have the following set in my maven_opts :
>> MAVEN_OPTS='-Xmx1024m -XX:MaxPermSize=384m'
>>
>> You should be able to build only the modules folder with :
>> mvn -fae -Dmaven.test.skip=true clean install
>>
>> and then run the store sample.
>>
>
> OK, I'll try to build modules/ only with these options.
>

I finally got a successful build of the modules/ sub-tree.

I'm now trying to run the samples/applications/store app. The steps in 
the README only work with a binary distribution, which I don't have as 
I've only built modules/.

How can I run the sample from a development tree build without a binary 
distribution?
-- 
Jean-Sebastien

Re: Tuscany Javascript clients don't work with IE

Posted by Jean-Sebastien Delfino <js...@apache.org>.
On 01/02/2011 02:37 PM, Luciano Resende wrote:
> On Sat, Jan 1, 2011 at 10:30 PM, Jean-Sebastien Delfino
> <js...@apache.org>  wrote:
>> On 01/01/2011 03:28 PM, Luciano Resende wrote:
>>>
>>> On Thu, Dec 30, 2010 at 12:54 AM, Jean-Sebastien Delfino
>>> <js...@apache.org>    wrote:
>>>>
>>>> On 12/29/2010 08:20 AM, Luciano Resende wrote:
>>>> ...
>>>>>
>>>>> I'll take a look at this today, but unfortunately I'll be driving
>>>>> blind to certain extent as I don't have a IE environment to test.
>>>>> Could you help validating the fix once I apply the fix on the Java
>>>>> runtime ?
>>>>>
>>>>
>>>> Sure, just point me to updated JARs and I'll give them a try.
>>>>
>>>> --
>>>> Jean-Sebastien
>>>>
>>>
>>> I've fixed the refresh issue with TUSCANY-3812 and tested in IE8. I
>>> didn't change anything related to the content-type header containing
>>> type=xxx, so I'm assuming you are still going to have the IE6 issue.
>>> Could you please check and report back if things are working better
>>> for you.
>>>
>>> [1] https://issues.apache.org/jira/browse/TUSCANY-3812
>>>
>>>
>>
>> Could you point me to updated JARs that I could just use on top of a the 2.0
>> Beta1 release to test this patch?
>>
>> I had not rebuilt Tuscany Java from source for some time. I've tried today
>> for 2 hours and failed with test errors, Maven download timeouts, 100% CPU
>> consumption making my laptop overheat, and now this:
>>
>> [INFO]
>> ------------------------------------------------------------------------
>> [INFO] Building Apache Tuscany SCA iTest WS JAXWS External Service
>> [INFO]    task-segment: [install]
>> [INFO]
>> ------------------------------------------------------------------------
>> [INFO]
>> ------------------------------------------------------------------------
>> [ERROR] FATAL ERROR
>> [INFO]
>> ------------------------------------------------------------------------
>> Exception in thread "main" java.lang.OutOfMemoryError: PermGen space
>>
>> I'm giving up for now as after 2 hours my time window for this has expired,
>> but are others able to build the source tree? How long and how much space
>> does it take for you?
>>
>> --
>> Jean-Sebastien
>>
>
> I guess you are getting a little spoiled with the Native runtime :)

Yeah :)

>
> I had a successful top-down build in a MAC -OS environment (and just
> tried modules in ubuntu ok as well and took around 15 mins)

Are you building with a fresh empty Maven repository? How long does the 
top-down build take?

>
> I have the following set in my maven_opts :
> MAVEN_OPTS='-Xmx1024m -XX:MaxPermSize=384m'
>
> You should be able to build only the modules folder with :
> mvn -fae -Dmaven.test.skip=true clean install
>
> and then run the store sample.
>

OK, I'll try to build modules/ only with these options.

-- 
Jean-Sebastien

Re: Tuscany Javascript clients don't work with IE

Posted by Luciano Resende <lu...@gmail.com>.
On Sat, Jan 8, 2011 at 8:09 PM, Jean-Sebastien Delfino
<js...@apache.org> wrote:
>
> IE 6, 7, 8 don't refresh the cart anymore. I've not tried IE 9.
>
> Feeling like going in circles? Now that you've re-enabled caching you're
> missing the Expiry header I mentioned earlier [1] or the proper
> Cache-control header value to trigger IE's cache revalidation.
>
> Think about all the people out there claiming that REST is so easy :)
>

 It's not REST, it's cross browser support that is hard :) I'll take
another look.

BTW, we should probably look into ways to centralize these common HTTP
stuff for similar bindings like Atom, Rss, HTTP, Rest, etc


-- 
Luciano Resende
http://people.apache.org/~lresende
http://twitter.com/lresende1975
http://lresende.blogspot.com/

Re: Tuscany Javascript clients don't work with IE

Posted by Jean-Sebastien Delfino <js...@apache.org>.
On 01/08/2011 12:22 PM, Luciano Resende wrote:
> On Wed, Jan 5, 2011 at 10:44 PM, Jean-Sebastien Delfino
> <js...@apache.org>  wrote:
>> On 01/02/2011 02:37 PM, Luciano Resende wrote:
>> ...
>>>>>
>>>>> I've fixed the refresh issue with TUSCANY-3812 and tested in IE8. I
>>>>> didn't change anything related to the content-type header containing
>>>>> type=xxx, so I'm assuming you are still going to have the IE6 issue.
>>>>> Could you please check and report back if things are working better
>>>>> for you.
>>>>>
>>>>> [1] https://issues.apache.org/jira/browse/TUSCANY-3812
>>>>>
>>
>> I've tested your fix. IE7,8,9 now correctly refresh the cart.
>>
>> Caching still doesn't work though, for two reasons:
>>
>> - AtomBindingListenerServlet computes a new feed id each time a feed is
>> requested (see feed.setId( "Feed" + feed.hashCode());). So multiple requests
>> for the exact same feed actually return different ids (and associated etags
>> as they're calculated from the feed content which includes these ids).
>>
>> - The "Cache-Control: no-cache" header prevents caching as well.
>>
>> I think it'd be useful to fix this, as caching is one of the useful
>> capabilities of a Web infrastructure that REST patterns allow you to
>> leverage.
>>
>> It should be easy: just fix the feed id computation and remove the no-cache
>> header, then the logic already in AtomBindingListenerServlet should work and
>> return a 304 Not Modified status when the client presents a matching etag.
>>
>> IE6 still hangs as expected. You'll have to remove the "type" parameter to
>> fix that.
>>
>> Hope this helps.
>> --
>> Jean-Sebastien
>>
>
> Ok, I have changed the way we are creating the feed id, and also fixed
> the http headers that were hanging the IE6. I could test the cache
> portion and I'm getting 304 properly. Could you please take a look and
> let me know if the IE6 problem is gone ?
>

IE 6 doesn't hang anymore.

Firefox, Chrome and Safari correctly refresh the cart and correctly get 
a 304 status when their cache is valid.

IE 6, 7, 8 don't refresh the cart anymore. I've not tried IE 9.

Feeling like going in circles? Now that you've re-enabled caching you're 
missing the Expiry header I mentioned earlier [1] or the proper 
Cache-control header value to trigger IE's cache revalidation.

Think about all the people out there claiming that REST is so easy :)

[1] http://marc.info/?l=tuscany-dev&m=129361402628749&w=2
-- 
Jean-Sebastien

Re: Tuscany Javascript clients don't work with IE

Posted by Luciano Resende <lu...@gmail.com>.
On Wed, Jan 5, 2011 at 10:44 PM, Jean-Sebastien Delfino
<js...@apache.org> wrote:
> On 01/02/2011 02:37 PM, Luciano Resende wrote:
> ...
>>>>
>>>> I've fixed the refresh issue with TUSCANY-3812 and tested in IE8. I
>>>> didn't change anything related to the content-type header containing
>>>> type=xxx, so I'm assuming you are still going to have the IE6 issue.
>>>> Could you please check and report back if things are working better
>>>> for you.
>>>>
>>>> [1] https://issues.apache.org/jira/browse/TUSCANY-3812
>>>>
>
> I've tested your fix. IE7,8,9 now correctly refresh the cart.
>
> Caching still doesn't work though, for two reasons:
>
> - AtomBindingListenerServlet computes a new feed id each time a feed is
> requested (see feed.setId( "Feed" + feed.hashCode());). So multiple requests
> for the exact same feed actually return different ids (and associated etags
> as they're calculated from the feed content which includes these ids).
>
> - The "Cache-Control: no-cache" header prevents caching as well.
>
> I think it'd be useful to fix this, as caching is one of the useful
> capabilities of a Web infrastructure that REST patterns allow you to
> leverage.
>
> It should be easy: just fix the feed id computation and remove the no-cache
> header, then the logic already in AtomBindingListenerServlet should work and
> return a 304 Not Modified status when the client presents a matching etag.
>
> IE6 still hangs as expected. You'll have to remove the "type" parameter to
> fix that.
>
> Hope this helps.
> --
> Jean-Sebastien
>

Ok, I have changed the way we are creating the feed id, and also fixed
the http headers that were hanging the IE6. I could test the cache
portion and I'm getting 304 properly. Could you please take a look and
let me know if the IE6 problem is gone ?

-- 
Luciano Resende
http://people.apache.org/~lresende
http://twitter.com/lresende1975
http://lresende.blogspot.com/

Re: Tuscany Javascript clients don't work with IE

Posted by Luciano Resende <lu...@gmail.com>.
On Wed, Jan 5, 2011 at 10:44 PM, Jean-Sebastien Delfino
<js...@apache.org> wrote:
> On 01/02/2011 02:37 PM, Luciano Resende wrote:
> ...
>>>>
>>>> I've fixed the refresh issue with TUSCANY-3812 and tested in IE8. I
>>>> didn't change anything related to the content-type header containing
>>>> type=xxx, so I'm assuming you are still going to have the IE6 issue.
>>>> Could you please check and report back if things are working better
>>>> for you.
>>>>
>>>> [1] https://issues.apache.org/jira/browse/TUSCANY-3812
>>>>
>
> I've tested your fix. IE7,8,9 now correctly refresh the cart.
>
> Caching still doesn't work though, for two reasons:
>
> - AtomBindingListenerServlet computes a new feed id each time a feed is
> requested (see feed.setId( "Feed" + feed.hashCode());). So multiple requests
> for the exact same feed actually return different ids (and associated etags
> as they're calculated from the feed content which includes these ids).
>

Strange, I thought I had fixed all places to generate the ETag based
on the feed MD5 hash (using a common funtion from HTTPUtils). But I
guess that, if the feed has a new id per request, then the hash will
be different on every request. Let me take a look at this...

> - The "Cache-Control: no-cache" header prevents caching as well.
>
> I think it'd be useful to fix this, as caching is one of the useful
> capabilities of a Web infrastructure that REST patterns allow you to
> leverage.
>
> It should be easy: just fix the feed id computation and remove the no-cache
> header, then the logic already in AtomBindingListenerServlet should work and
> return a 304 Not Modified status when the client presents a matching etag.
>
> IE6 still hangs as expected. You'll have to remove the "type" parameter to
> fix that.
>
> Hope this helps.

Thanks, Hopefully I'll have this fixed sometime tomorrow.


-- 
Luciano Resende
http://people.apache.org/~lresende
http://twitter.com/lresende1975
http://lresende.blogspot.com/

Re: Tuscany Javascript clients don't work with IE

Posted by Jean-Sebastien Delfino <js...@apache.org>.
On 01/02/2011 02:37 PM, Luciano Resende wrote:
...
>>> I've fixed the refresh issue with TUSCANY-3812 and tested in IE8. I
>>> didn't change anything related to the content-type header containing
>>> type=xxx, so I'm assuming you are still going to have the IE6 issue.
>>> Could you please check and report back if things are working better
>>> for you.
>>>
>>> [1] https://issues.apache.org/jira/browse/TUSCANY-3812
>>>

I've tested your fix. IE7,8,9 now correctly refresh the cart.

Caching still doesn't work though, for two reasons:

- AtomBindingListenerServlet computes a new feed id each time a feed is 
requested (see feed.setId( "Feed" + feed.hashCode());). So multiple 
requests for the exact same feed actually return different ids (and 
associated etags as they're calculated from the feed content which 
includes these ids).

- The "Cache-Control: no-cache" header prevents caching as well.

I think it'd be useful to fix this, as caching is one of the useful 
capabilities of a Web infrastructure that REST patterns allow you to 
leverage.

It should be easy: just fix the feed id computation and remove the 
no-cache header, then the logic already in AtomBindingListenerServlet 
should work and return a 304 Not Modified status when the client 
presents a matching etag.

IE6 still hangs as expected. You'll have to remove the "type" parameter 
to fix that.

Hope this helps.
-- 
Jean-Sebastien

Re: Tuscany Javascript clients don't work with IE

Posted by Luciano Resende <lu...@gmail.com>.
On Sat, Jan 1, 2011 at 10:30 PM, Jean-Sebastien Delfino
<js...@apache.org> wrote:
> On 01/01/2011 03:28 PM, Luciano Resende wrote:
>>
>> On Thu, Dec 30, 2010 at 12:54 AM, Jean-Sebastien Delfino
>> <js...@apache.org>  wrote:
>>>
>>> On 12/29/2010 08:20 AM, Luciano Resende wrote:
>>> ...
>>>>
>>>> I'll take a look at this today, but unfortunately I'll be driving
>>>> blind to certain extent as I don't have a IE environment to test.
>>>> Could you help validating the fix once I apply the fix on the Java
>>>> runtime ?
>>>>
>>>
>>> Sure, just point me to updated JARs and I'll give them a try.
>>>
>>> --
>>> Jean-Sebastien
>>>
>>
>> I've fixed the refresh issue with TUSCANY-3812 and tested in IE8. I
>> didn't change anything related to the content-type header containing
>> type=xxx, so I'm assuming you are still going to have the IE6 issue.
>> Could you please check and report back if things are working better
>> for you.
>>
>> [1] https://issues.apache.org/jira/browse/TUSCANY-3812
>>
>>
>
> Could you point me to updated JARs that I could just use on top of a the 2.0
> Beta1 release to test this patch?
>
> I had not rebuilt Tuscany Java from source for some time. I've tried today
> for 2 hours and failed with test errors, Maven download timeouts, 100% CPU
> consumption making my laptop overheat, and now this:
>
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Building Apache Tuscany SCA iTest WS JAXWS External Service
> [INFO]    task-segment: [install]
> [INFO]
> ------------------------------------------------------------------------
> [INFO]
> ------------------------------------------------------------------------
> [ERROR] FATAL ERROR
> [INFO]
> ------------------------------------------------------------------------
> Exception in thread "main" java.lang.OutOfMemoryError: PermGen space
>
> I'm giving up for now as after 2 hours my time window for this has expired,
> but are others able to build the source tree? How long and how much space
> does it take for you?
>
> --
> Jean-Sebastien
>

I guess you are getting a little spoiled with the Native runtime :)

I had a successful top-down build in a MAC -OS environment (and just
tried modules in ubuntu ok as well and took around 15 mins)

I have the following set in my maven_opts :
MAVEN_OPTS='-Xmx1024m -XX:MaxPermSize=384m'

You should be able to build only the modules folder with :
mvn -fae -Dmaven.test.skip=true clean install

and then run the store sample.


-- 
Luciano Resende
http://people.apache.org/~lresende
http://twitter.com/lresende1975
http://lresende.blogspot.com/

Re: Tuscany Javascript clients don't work with IE

Posted by Jean-Sebastien Delfino <js...@apache.org>.
On 01/01/2011 03:28 PM, Luciano Resende wrote:
> On Thu, Dec 30, 2010 at 12:54 AM, Jean-Sebastien Delfino
> <js...@apache.org>  wrote:
>> On 12/29/2010 08:20 AM, Luciano Resende wrote:
>> ...
>>>
>>> I'll take a look at this today, but unfortunately I'll be driving
>>> blind to certain extent as I don't have a IE environment to test.
>>> Could you help validating the fix once I apply the fix on the Java
>>> runtime ?
>>>
>>
>> Sure, just point me to updated JARs and I'll give them a try.
>>
>> --
>> Jean-Sebastien
>>
>
> I've fixed the refresh issue with TUSCANY-3812 and tested in IE8. I
> didn't change anything related to the content-type header containing
> type=xxx, so I'm assuming you are still going to have the IE6 issue.
> Could you please check and report back if things are working better
> for you.
>
> [1] https://issues.apache.org/jira/browse/TUSCANY-3812
>
>

Could you point me to updated JARs that I could just use on top of a the 
2.0 Beta1 release to test this patch?

I had not rebuilt Tuscany Java from source for some time. I've tried 
today for 2 hours and failed with test errors, Maven download timeouts, 
100% CPU consumption making my laptop overheat, and now this:

[INFO] 
------------------------------------------------------------------------
[INFO] Building Apache Tuscany SCA iTest WS JAXWS External Service
[INFO]    task-segment: [install]
[INFO] 
------------------------------------------------------------------------
[INFO] 
------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] 
------------------------------------------------------------------------
Exception in thread "main" java.lang.OutOfMemoryError: PermGen space

I'm giving up for now as after 2 hours my time window for this has 
expired, but are others able to build the source tree? How long and how 
much space does it take for you?

-- 
Jean-Sebastien

Re: Tuscany Javascript clients don't work with IE

Posted by Luciano Resende <lu...@gmail.com>.
On Thu, Dec 30, 2010 at 12:54 AM, Jean-Sebastien Delfino
<js...@apache.org> wrote:
> On 12/29/2010 08:20 AM, Luciano Resende wrote:
> ...
>>
>> I'll take a look at this today, but unfortunately I'll be driving
>> blind to certain extent as I don't have a IE environment to test.
>> Could you help validating the fix once I apply the fix on the Java
>> runtime ?
>>
>
> Sure, just point me to updated JARs and I'll give them a try.
>
> --
> Jean-Sebastien
>

I've fixed the refresh issue with TUSCANY-3812 and tested in IE8. I
didn't change anything related to the content-type header containing
type=xxx, so I'm assuming you are still going to have the IE6 issue.
Could you please check and report back if things are working better
for you.

[1] https://issues.apache.org/jira/browse/TUSCANY-3812


-- 
Luciano Resende
http://people.apache.org/~lresende
http://twitter.com/lresende1975
http://lresende.blogspot.com/

Re: Tuscany Javascript clients don't work with IE

Posted by Jean-Sebastien Delfino <js...@apache.org>.
On 12/29/2010 08:20 AM, Luciano Resende wrote:
...
>
> I'll take a look at this today, but unfortunately I'll be driving
> blind to certain extent as I don't have a IE environment to test.
> Could you help validating the fix once I apply the fix on the Java
> runtime ?
>

Sure, just point me to updated JARs and I'll give them a try.

-- 
Jean-Sebastien

Re: Tuscany Javascript clients don't work with IE

Posted by Luciano Resende <lu...@gmail.com>.
On Wed, Dec 29, 2010 at 1:13 AM, Jean-Sebastien Delfino
<js...@apache.org> wrote:
> On 12/28/2010 03:50 AM, Simon Nash wrote:
>>
>> Jean-Sebastien Delfino wrote:
>>>
>>> Hi all,
>>>
>>> The Javascript client code used in Tuscany's 'Web 2.0' apps like
>>> samples/store doesn't seem to work with MS Internet Explorer.
>>>
>>> To reproduce the problems start the samples/store app and point IE to
>>> http://localhost:8080/store.
>>>
>>> I tried two versions of IE with both Tuscany 2.0-beta1 and 1.6.1:
>>> - IE6 v6.0.2900.2180.xpsp_sp2_rtm.040803-2158 just hangs using 100% cpu.
>>> - IE8 v8.0.6001.18702 doesn't refresh the cart as you shop.
>>>
>>> Are others seeing these problems with IE too?
>>
>>  >
>> I have noticed the same issue and I believe I reported it to the list
>> about 2-3 years ago, but I can't find the message now.
>>
>> I have tried a selection of other browsers as well. Firefox, Safari
>> and Chrome seem to be OK. I had problems with IE and Opera.
>>
>> Simon
>>
>
> IE still represents a big chunk of the Web browser market, so you may want
> to fix these two problems for people trying to deploy Tuscany Web apps.
>
> I found a fix for the hang problem with IE6. See my fix to the C++ runtime
> in SVN r1053559 [1]. Removing the 'type=feed/entry' parameter from the
> 'application/atom+xml' media type of ATOM docs makes IE happier.
>
> The refresh problem is caused by IE not checking with the server for updates
> of cached content. I had to fix similar issues with the C++ runtime long
> time ago.
>
> Here's what the Java runtime returns for an ATOM feed:
> HTTP/1.1 200 OK
> Content-Type: application/atom+xml;type=feed
> ETag: "Feed96897824"
> Transfer-Encoding: chunked
>
> ... XML content ...
>
> Here's what the C++ runtime returns, which works with IE:
> HTTP/1.1 200 OK
> Date: Wed, 29 Dec 2010 07:44:58 GMT
> Server: Apache
> Expires: Tue, 01 Jan 1980 00:00:00 GMT
> ETag: 8ac80137de06d087626be8cfc4fcae58
> Content-Length: 1149
> Keep-Alive: timeout=5, max=100
> Connection: Keep-Alive
> Content-Type: application/atom+xml
>
> ... XML content ...
>
> IIRC, the combination of Date and Expires forces IE to revalidate its cache
> and check for updates instead of blindly using the cached content. The ETag
> header is then used to check with the server for updates using a conditional
> GET. The server will return a '304 Not Modified' status if the cached
> content is up to date and can be used, or the new content with a '200 OK'
> status.
>
> For that to work, you'll also need to change AtomBindingListenerServlet to
> calculate the ETag from the feed content (or a representation of its state,
> like a modification time or version for example).
>
> An alternative may be to change the Javascript client code to use HTTP
> Cache-Control headers. I didn't try that at the time as I was looking for an
> approach that also worked for page GETs without Javascript, as well as
> various HTTP caching proxies.
>
> More info on these HTTP headers there [2].
>
> Hope this helps.
>
> [1]
> http://mail-archives.apache.org/mod_mbox/tuscany-commits/201012.mbox/%3C20101229072433.121E6238897D@eris.apache.org%3E
> [2] http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
> --
> Jean-Sebastien
>

I'll take a look at this today, but unfortunately I'll be driving
blind to certain extent as I don't have a IE environment to test.
Could you help validating the fix once I apply the fix on the Java
runtime ?

-- 
Luciano Resende
http://people.apache.org/~lresende
http://twitter.com/lresende1975
http://lresende.blogspot.com/

Re: Tuscany Javascript clients don't work with IE

Posted by Jean-Sebastien Delfino <js...@apache.org>.
On 12/28/2010 03:50 AM, Simon Nash wrote:
> Jean-Sebastien Delfino wrote:
>> Hi all,
>>
>> The Javascript client code used in Tuscany's 'Web 2.0' apps like
>> samples/store doesn't seem to work with MS Internet Explorer.
>>
>> To reproduce the problems start the samples/store app and point IE to
>> http://localhost:8080/store.
>>
>> I tried two versions of IE with both Tuscany 2.0-beta1 and 1.6.1:
>> - IE6 v6.0.2900.2180.xpsp_sp2_rtm.040803-2158 just hangs using 100% cpu.
>> - IE8 v8.0.6001.18702 doesn't refresh the cart as you shop.
>>
>> Are others seeing these problems with IE too?
>  >
> I have noticed the same issue and I believe I reported it to the list
> about 2-3 years ago, but I can't find the message now.
>
> I have tried a selection of other browsers as well. Firefox, Safari
> and Chrome seem to be OK. I had problems with IE and Opera.
>
> Simon
>

IE still represents a big chunk of the Web browser market, so you may 
want to fix these two problems for people trying to deploy Tuscany Web apps.

I found a fix for the hang problem with IE6. See my fix to the C++ 
runtime in SVN r1053559 [1]. Removing the 'type=feed/entry' parameter 
from the 'application/atom+xml' media type of ATOM docs makes IE happier.

The refresh problem is caused by IE not checking with the server for 
updates of cached content. I had to fix similar issues with the C++ 
runtime long time ago.

Here's what the Java runtime returns for an ATOM feed:
HTTP/1.1 200 OK
Content-Type: application/atom+xml;type=feed
ETag: "Feed96897824"
Transfer-Encoding: chunked

... XML content ...

Here's what the C++ runtime returns, which works with IE:
HTTP/1.1 200 OK
Date: Wed, 29 Dec 2010 07:44:58 GMT
Server: Apache
Expires: Tue, 01 Jan 1980 00:00:00 GMT
ETag: 8ac80137de06d087626be8cfc4fcae58
Content-Length: 1149
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: application/atom+xml

... XML content ...

IIRC, the combination of Date and Expires forces IE to revalidate its 
cache and check for updates instead of blindly using the cached content. 
The ETag header is then used to check with the server for updates using 
a conditional GET. The server will return a '304 Not Modified' status if 
the cached content is up to date and can be used, or the new content 
with a '200 OK' status.

For that to work, you'll also need to change AtomBindingListenerServlet 
to calculate the ETag from the feed content (or a representation of its 
state, like a modification time or version for example).

An alternative may be to change the Javascript client code to use HTTP 
Cache-Control headers. I didn't try that at the time as I was looking 
for an approach that also worked for page GETs without Javascript, as 
well as various HTTP caching proxies.

More info on these HTTP headers there [2].

Hope this helps.

[1] 
http://mail-archives.apache.org/mod_mbox/tuscany-commits/201012.mbox/%3C20101229072433.121E6238897D@eris.apache.org%3E
[2] http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
-- 
Jean-Sebastien

Re: Tuscany Javascript clients don't work with IE

Posted by Simon Nash <na...@apache.org>.
Jean-Sebastien Delfino wrote:
> Hi all,
> 
> The Javascript client code used in Tuscany's 'Web 2.0' apps like 
> samples/store doesn't seem to work with MS Internet Explorer.
> 
> To reproduce the problems start the samples/store app and point IE to 
> http://localhost:8080/store.
> 
> I tried two versions of IE with both Tuscany 2.0-beta1 and 1.6.1:
> - IE6 v6.0.2900.2180.xpsp_sp2_rtm.040803-2158 just hangs using 100% cpu.
> - IE8 v8.0.6001.18702 doesn't refresh the cart as you shop.
> 
> Are others seeing these problems with IE too?
 >
I have noticed the same issue and I believe I reported it to the list
about 2-3 years ago, but I can't find the message now.

I have tried a selection of other browsers as well.  Firefox, Safari
and Chrome seem to be OK.  I had problems with IE and Opera.

   Simon