Friday, August 19, 2011

PeopleTools 8.50/8.51 AJAX issues

After immediately upgrading to PeopleTools 8.50, we have encountered several issues that were related to new AJAX features introduced in 8.50. Here is the list of such issues

 

1.  Getting frequent error 501 not implemented on the browser with IE7 and IE8.

2.  Component page reset. Users are getting kicked out to first page or the search dialog box in the middle of a multi page transaction and losing the data they have entered.

3.  Suddenly the page will become unresponsive and entire browser will freeze and will require restart of the browser.

All the 3 symptoms were annoying for the users and we eventually traced it to AJAX feature, that results in loss of POST data.

Turning off the AJAX setting resolved all 3 issues. Here is a way to turn off the AJAX

Go to PeopleTools –> Web Profile > Open the Web profile you use for e.g. DEV or PROD.

Go to Custom Properties and Add a Property AJAX of type Boolean and set its value to false. This will turn off the AJAX. To enable it again make it true or remove the row. Bounce all the Web servers using this web profile to make this setting take effect.

image

Though the above changes resolves the issue, this is not desirable and also may not be supported in future peopletools release. I have found this issue to be related to a bug in IE7 and IE8 when used with Windows XP OS. Fortunately microsoft includes the hotfix to resolve the issue, however registry change needs to be made to enable the hotfix. For more details, see this following KB : http://support.microsoft.com/kb/895954 - When you use Microsoft Internet Explorer or another ! program to perform a re-POST operation, only the header data is posted. See How to enable this hotfix section for registry changes.

Basically, the issue happens as IE sends the AJAX request in 2 tcp ip packets one for the header and one for the body. When network error happens, and ie tries to send the ajax request again, it fails to send the body. This causes PIA to loose the session state and we see the issues described above. The other browsers Firefox, Safari and Chrome do not send ajax request in multiple packets and this issue does not appear there.

Also see this article on further clarification on which registry key needs to be modified : http://www.geoffchappell.com/viewer.htm?doc=notes/windows/ie/featurecontrol.htm

According to this , you can specify the value in any one of the following location, in order of decreasing precedence.

  • HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Internet Explorer\Main\FeatureControl
  • HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Main\FeatureControl
  • HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Main\FeatureControl

Please leave comments, if applying the above registry changes resolves the issue.

PeopleSoft has also published this resolution on My Oracle Support (MOS) - E-PIA: PeopleTools 8.50 and 8.51 - Intermittent "Error 501--Not implemented" Messages when Navigating to a Page Using IE7 or IE8 Browser. Doc ID : 1337266.1

15 comments:

Mike Putnam said...

I cannot confirm this behavior in IE8 on Peopletools 8.51. I was able to enter a new hire (many page jumps and AJAX lookups) without issue. I'll comment here again if I am able to reproduce this issue.

Mike Putnam
http://theputnams.net/mike

Ketan Kothari said...

The above behavior does not happen always, but requires some kind of network error that will require ie to repost which will generate in the errors noted. The issue is not easily reproducible as it depends on network layer to fail that requires retransmission of ajax post request. It is also not easily reproducible in dev or qa environment because load is very small and therefore less chances of having network error.

Denise said...

Ketan,
Thank you so much for your blog. You saved my upgrade tonight! We had the Ajax error message only once the link was put into a frame on our internet site. All of our testing prior to changing the internet site worked fine, and when we testing in our SIT environment through the test internet site worked fine. We were about ready to declare a no-go when we found your blog and tried turning the AJAX off on our candidate gateway site and everything then worked like a charm. I cannot thank you enough!

Darren Moseley said...

We applied the registry fix site-wide to our XP machines, and the error went away. Now we are seeing the 501 error in the machines that have recently upgraded to Windows 7. The Microsoft support site says this this bug applies to Windows XP. Have you seen this issue in Windows 7?

Ketan Kothari said...

We still do not use windows 7 but this issue could be tied to ie 7and 8 and not just xp or windows 7. I believe ie9 and windows 7 combination should work fine. Which browser you are using for windows 7.

Darren Moseley said...

We're using IE8 on Windows 7. We are standardized on the lowest common denominator -- some software here doesn't support IE9 yet.

Ketan Kothari said...

This fix as specified by Microsoft KB : http://support.microsoft.com/kb/895954 - in the Applies to section also applies to IE7 and IE8 (No mention of any Operating system). Also if you disable AJAX, Mouse Over popup functionality for 9.1 application does not work and gives JavaScript error : Line: 2694
Error: Unable to get value of the property 'offsetLeft': object is null or undefined for the following navigation Main Menu -> Workforce Administration -> Personal Information -> Biographical -> Modify a Person and you take your mouse to the Name field at the top.

Ketan Kothari said...

This fix as specified by Microsoft KB : http://support.microsoft.com/kb/895954 - in the Applies to section also applies to IE7 and IE8 (No mention of any Operating system). Also if you disable AJAX, Mouse Over popup functionality for 9.1 application does not work and gives JavaScript error : Line: 2694
Error: Unable to get value of the property 'offsetLeft': object is null or undefined for the following navigation Main Menu -> Workforce Administration -> Personal Information -> Biographical -> Modify a Person and you take your mouse to the Name field at the top.

Hari said...

Recently we have upgraded our PeopleTools from 8.49.23 to 8.52.09.

After this we are facing the issue like the processing image is keep on running. For ex: If I navigate to Structure and Content --> Portal Objects --> Home Page-->Tabs -->Home

In that if I am clicking any tab it will load the page but the processing image keeps running. I see an error in the status bar like below

Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)

Timestamp: Thu, 11 Oct 2012 05:19:41 UTC

Message: Permission denied

Line: 1602

Char: 5

Code: 0

URI: http://askhrtest.hk.standardchartered.com:8522/cs/DGEPUPG1/cache/PT_PAGESCRIPT_win0_291.js

Message: Permission denied

Line: 1602

Char: 5

Code: 0

URI: http://askhrtest.hk.standardchartered.com:8522/cs/DGEPUPG1/cache/PT_PAGESCRIPT_win0_291.js.

Sometimes it is showing permission denied error on PT_COMMON script.

We are not facing this issue when we do the same thing in Chrome Version 22.0.1229.79. But our organization standard browser is Internet Explorer .8.0.6001.18702

Please help us to find the issue.

Ketan Kothari said...

Processing image is no longer used for 8.50 and higher. This means that browser cache is not correct. Please try to clear the browser cache. If you are seeing the newer icon that rotates then it is not a cache issue and may be a JavaScript bug. If you can use ie9 in a test machine then you can debug JavaScript. After clearing the browser cache using ie options view file objects and not standard clearing is sometime required to make sure that cache is clean. Also see if this is a known issue by looking into my oracle support.

Hari said...

Processing image in the sense the circle which rotates denoting processing. I guess this is the new image.

Yes we are getting the Java script permission denied issue. The path it refers is our web server cache folder. Not sure how to debug this?

Ketan Kothari said...

Good way to debug JavaScript issue is to use ie 9 JavaScript debugger or if the issue can be reproduced in Firefox then use JavaScript console tool. JavaScript gets executed in the browser and this could be a known bug. Once you know the exact JavaScript name search in peoplesoft you can search oracle support site and log a case

Hari said...

We have finally found the below error is not due to the permission issue

Message: Permission denied

Line: 1602

Char: 5

Code: 0

URI: http://askhrtest.hk.standardchartered.com:8522/cs/DGEPUPG1/cache/PT_PAGESCRIPT_win0_291.js

It looks like there is some problem with the Java Script execution. While loading the page JS getting error and stops further processing due to this we are getting the processing image as its waiting for the execution to complete.

When I try to debug the JS error it stops at the below line (which is given as bold text)

function doModalOnLoad_win0(bStartUp) {
mTop = MTop(); // top window
if (!mTop || typeof mTop.oParentWin == 'undefined' || !mTop.oParentWin) return;
Not sure how this Mtop() is working and what it is expecting to complete the execution? Could you please help us?

Thanks a lot for your time.


Ketan Kothari said...

What is the error. Did you open a case or searched in my oracle support. This's could be a known issue and peoplesoft may have a tools patch to fix the issue. What is your tools version. Also did you have access to ie 9 or Firefox JavaScript debugger .

Darren Moseley said...

The stuck-in-processing issue could be related to ID 1367044.1, but