We finally dug deep enough to find the root cause of the problem. We have 
a corporate framework that adds a layer to Wicket for company-specific 
functionality. I discovered this morning that my Maven POM declared 
dependencies for both Wicket AND our corporate layer. This caused my app 
to use a different version of Wicket than our corporate layer, which 
caused inconsistencies. The solution was to remove the Wicket dependency 
from my Maven POM, thus inheriting the Wicket version our corporate layer 
uses. And (surprise!) the problems went away.

So, not Wicket's fault. Thought you'd like to know. Thanks for the help & 
insight.

(Slinks away with red face...)




From:   "Richard W. Adams" <rwada...@up.com>
To:     users@wicket.apache.org
Date:   05/11/2012 11:46 AM
Subject:        Re: Ajax Error in MSIE 8



I just found a key difference between the IE8 & IE9 behaviors in this 
code:

   f (typeof(window.XMLHttpRequest) != "undefined" && typeof(DOMParser) != 

"undefined") { 
        var parser = new DOMParser();
        xmldoc = parser.parseFromString(responseAsText, "text/xml"); 
   } else if (window.ActiveXObject) {
        xmldoc = t.responseXML;
   }

On our desktops, IE9 always goes into the first part of the if block, but 
IE8 always goes into the second part (after the elseif). Based on Google 
checks, it appears this might be due to browser security settings. Do you 
know if any special settings are required to make IE8 work correctly?



From:   Martin Grigorov <mgrigo...@apache.org>
To:     users@wicket.apache.org
Date:   05/11/2012 09:56 AM
Subject:        Re: Ajax Error in MSIE 8



I'm not sure why this fails for you. And why it fails only from time to
time.
But looking at this Javascript code I think it can be improved.
File a ticket with a failing test case if possible.

On Fri, May 11, 2012 at 5:46 PM, Richard W. Adams <rwada...@up.com> wrote:

> We dug into wicket-ajax.js using this version of MSIE 8:
>
>
>
> We discovered the problem occurs in this code:
>
>
>
> *Wicket.Ajax.Request.prototype = {*
>
> *....*
> *        // Method that processes the request states*
> *        stateChangeCallback: function() {        *
>
> *.....*
>
> *                        if (status == 200 || status == "") { // as
> stupid as it seems, IE7 sets status to "" on ok*
> *                                // response came without error*
> *                                var responseAsText = t.responseText;*
> *....*
>
> *                                // parse the response if the callback
> needs a DOM tree*
> *                                if (this.parseResponse == true) {*
> *                                                var xmldoc;
>    *
> *                                                if
> (typeof(window.XMLHttpRequest) != "undefined" && typeof(DOMParser) !=
> "undefined") {
>                    var parser = new DOMParser();*
> *                                                        xmldoc =
> parser.parseFromString(responseAsText, "text/xml");
>                        *
> *                                                } else if
> (window.ActiveXObject) {*
> *                                                        xmldoc =
> t.responseXML;*
> *                                                }*
> *                                                // invoke the loaded
> callback with an xml document*
> *
> this.loadedCallback(xmldoc); *
> *                                        } else {*
> *                                                // invoke the loaded
> callback with raw string*
> *
> this.loadedCallback(responseAsText);*
> *                                        }                        *
> *                                        if (this.suppressDone == 
false)*
> *                                                this.done();*
> *                                }*
>
>
> The offending code is:
>
> *   xmldoc = t.responseXML;*
>
> Looking at the contents of t (a transport object), 
the*transport.responseText
> * field is set to the expected xml message, but* 
transport.responseXML*is empty and has no XML message.  Unfortunately, we 
could not see where
> transport.responseXML variable should have been set.
>
> Does IE8 have known ajax bugs? Or is there a configuration setting we
> should be using to make this work? Or something else? We're willing to 
dig
> into the script more, but don't know where to look, as the Ajax 
processing
> is asynchronous & we can't simply step through the code execution.
>
>
>
>
>
>
> From:        Martin Grigorov <mgrigo...@apache.org>
> To:        users@wicket.apache.org
> Date:        05/11/2012 07:26 AM
>
> Subject:        Re: Ajax Error in MSIE 8
> ------------------------------
>
>
>
> Don't see anything suspicious.
> You'll have to debug what happens in wicket-ajax.js ...
>
> On Fri, May 11, 2012 at 3:07 PM, Richard W. Adams <rwada...@up.com> 
wrote:
> > Sorry. Should have provided more details:
> >
> > Wicket Version: 1.4.20
> >
> > Operating System: Windows XP
> >
> > Scenario: Users clicks an icon with an Ajax onclick event. In the 
event
> > handler on the server, we copy the value of one String variable to
> another
> > String variable in the model, then we call 
AjaxRequestTarget.addComponent
> > twice, to update (1) the receiving text field, and (2) an associated
> radio
> > button.
> > __________________________________________________
> >
> > "There are three kinds of lies: lies, damn lies, and statistics."
> > Benjamin Disraeli
> >
> > "Then there was the man who drowned crossing a stream with an average
> > depth of six inches."
> > W. I. E. Gates
> >
> >
> >
> >
> > From:   Martin Grigorov <mgrigo...@apache.org>
> > To:     users@wicket.apache.org
> > Date:   05/11/2012 02:26 AM
> > Subject:        Re: Ajax Error in MSIE 8
> >
> >
> >
> > Hi,
> >
> > Which version of Wicket ?
> > In what conditions this happen ? I.e. do you click on a link or do you
> > submit a form or ...
> >
> > On Thu, May 10, 2012 at 11:33 PM, Richard W. Adams <rwada...@up.com>
> > wrote:
> >> I'm getting Ajax errors that seems to occur only in Internet Explorer 

8
> >> (same code works fine in IE9 & Firefox). I'm in a corporate 
environment
> >> where IE8 support is a requirement, so wanted to see if anyone has 
seen
> >> this before & knows of a fix. The Wicket Ajax trace is below; the 
parser
> >> says it can't find the root element in the Ajax response. We've seen
> > this
> >> same error on various pages, though it doesn't ALWAYS occur:
> >>
> >>
> >> INFO: focus removed from wicket-generated-id-18
> >> INFO:
> >> INFO: Initiating Ajax GET request on
> >>
> >
> 
?wicket:interface=:6:form:main-box:mp-form:primary-track-box:primary-icon::IBehaviorListener:1:&random=0.9122150377237917
> >> INFO: Invoking pre-call handler(s)...
> >> INFO: Received ajax response (4130 characters)
> >> INFO:
> >> <?xml version="1.0" encoding="UTF-8"?><ajax-response><component
> >> id="successFeedback91" ><![CDATA[<div id="successFeedback91"
> >> style="display:none"></div>]]></component><component 
id="infoFeedback93"
> >>><![CDATA[<div id="infoFeedback93"
> >> style="display:none"></div>]]></component><component
> > id="errorFeedback94"
> >>><![CDATA[<div id="errorFeedback94"
> >> style="display:none"></div>]]></component><component 
id="warnFeedback92"
> >>><![CDATA[<div id="warnFeedback92"
> >> style="display:none"></div>]]></component><header-contribution
> >> encoding="wicket1" ><![CDATA[<head xmlns:wicket="
> > http://wicket.apache.org
> >> "><script type="text/javascript"
> >>
> >
> 
src="resources/com.uprr.enm.web.mp.behavior.MilepostReference/milepostreference.js"></script>
> >>
> >> <script type="text/javascript"
> >>
> >
> 
src="resources/org.apache.wicket.markup.html.WicketEventReference/wicket-event.js"></script>
> >>
> >> <script type="text/javascript"
> >>
> >
> 
src="resources/org.apache.wicket.ajax.WicketAjaxReference/wicket-ajax.js"></script>
> >>
> >> <script type="text/javascript"
> >>
> >
> 
src="resources/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/wicket-ajax-debug.js"></script>
> >>
> >> <script type="text/javascript"
> >> id="wicket-ajax-debug-enable"><!--/*--><![CDATA[/*><!--*/ >>
> wicketAjaxDebugEnable=true; >> /*-->]^]^>*/</script>
> >>
> >> </head>]]></header-contribution><component id="primaryMpOther9c"
> >>><![CDATA[<input class="numeric ricInputText" value="505.000"
> >> name="main-box:mp-form:primary-track-box:primaryMpOther"
> >> id="primaryMpOther9c" maxlength="9" size="11" type="text" onblur="var
> >>
> >
> 
wcall=wicketAjaxPost('?wicket:interface=:6:form:main-box:mp-form:primary-track-box:primaryMpOther::IBehaviorListener:4:-1',
> >> wicketSerialize(Wicket.$('primaryMpOther9c')),function() {
> >> }.bind(this),function() { }.bind(this), function() {return
> >> Wicket.$('primaryMpOther9c') != null;}.bind(this));" xmlns:wicket="
> >> http://wicket.apache.org"/>]]></component><header-contribution
> >> encoding="wicket1" ><![CDATA[<head xmlns:wicket="
> > http://wicket.apache.org
> >> "><script type="text/javascript"
> >> id="attachChoice"><!--/*--><![CDATA[/*><!--*/ >> function
> attachChoiceHandlers(markupId, callbackScript) { >>  var inputNodes =
> wicketGet(markupId).getElementsByTagName('input'); >>  for (var i = 0 ; 
i <
> inputNodes.length ; i ++) { >>  var inputNode = inputNodes[i]^; >>  if
> (!inputNode.type) continue; >>  if >> >
> 
(!(inputNode.className.indexOf('wicket-'+markupId)>=0)&&!(inputNode.id.indexOf(markupId+'-')>=0))
> >> continue; >>  var inputType = inputNode.type.toLowerCase(); >>  if
> (inputType == 'checkbox' || inputType == 'radio') { >>
>  Wicket.Event.add(inputNode, 'click', callbackScript); >>  } >>  } >> } 
>>
> >> /*-->]^]^>*/</script>
> >>
> >> </head>]]></header-contribution><component id="primaryMpSelection8f"
> >>><![CDATA[<span id="primaryMpSelection8f" xmlns:wicket="
> >> http://wicket.apache.org";><input
> >> name="main-box:mp-form:primary-track-box:primaryMpSelection"
> > type="radio"
> >> value="0" id="primaryMpSelection8f-0"/><label
> >> for="primaryMpSelection8f-0">Start (503.940)</label><br />
> >> <input name="main-box:mp-form:primary-track-box:primaryMpSelection"
> >> type="radio" value="1" id="primaryMpSelection8f-1"/><label
> >> for="primaryMpSelection8f-1">End (538.200)</label><br />
> >> <input name="main-box:mp-form:primary-track-box:primaryMpSelection"
> >> type="radio" checked="checked" value="2"
> >> id="primaryMpSelection8f-2"/><label
> >> for="primaryMpSelection8f-2">Other</label><br />
> >>
> >
> 
</span>]]></component><evaluate><![CDATA[$('#successFeedback91').trigger('ricolaFeedbackDismissed');]]></evaluate><evaluate><![CDATA[$('#infoFeedback93').trigger('ricolaFeedbackDismissed');]]></evaluate><evaluate><![CDATA[$('#errorFeedback94').trigger('ricolaFeedbackDismissed');]]></evaluate><evaluate><![CDATA[$('#warnFeedback92').trigger('ricolaFeedbackDismissed');]]></evaluate><evaluate><![CDATA[attachChoiceHandlers('primaryMpSelection8f',
> >> function() {var
> >>
> >
> 
wcall=wicketAjaxPost('?wicket:interface=:6:form:main-box:mp-form:primary-track-box:primaryMpSelection::IActivePageBehaviorListener:0:-1&wicket:ignoreIfNotActive=true',
> >>
> >
> 
wicketSerializeForm(document.getElementById('primaryMpSelection8f',false)),function()
> >> { }.bind(this),function() { }.bind(this), function() {return
> >> Wicket.$('primaryMpSelection8f') !=
> >> null;}.bind(this));});]]></evaluate></ajax-response>
> >> ERROR: Wicket.Ajax.Call.failure: Error while parsing response: Could 
not
> >> find root <ajax-response> element
> >> INFO: Invoking post-call handler(s)...
> >> INFO: Invoking failure handler(s)...
> >>
> >>
> >> **
> >>
> >> This email and any attachments may contain information that is
> > confidential and/or privileged for the sole use of the intended
> recipient.
> >  Any use, review, disclosure, copying, distribution or reliance by
> others,
> > and any forwarding of this email or its contents, without the express
> > permission of the sender is strictly prohibited by law.  If you are 
not
> > the intended recipient, please contact the sender immediately, delete 
the
> > e-mail and destroy all copies.
> >> **
> >
> >
> >
> > --
> > Martin Grigorov
> > jWeekend
> > Training, Consulting, Development
> > http://jWeekend.com <http://jweekend.com/>
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > For additional commands, e-mail: users-h...@wicket.apache.org
> >
> >
> >
> >
> > **
> >
> > This email and any attachments may contain information that is
> confidential and/or privileged for the sole use of the intended 
recipient.
>  Any use, review, disclosure, copying, distribution or reliance by 
others,
> and any forwarding of this email or its contents, without the express
> permission of the sender is strictly prohibited by law.  If you are not 
the
> intended recipient, please contact the sender immediately, delete the
> e-mail and destroy all copies.
> > **
>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com <http://jweekend.com/>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>
>
> **
>
> This email and any attachments may contain information that is
> confidential and/or privileged for the sole use of the intended 
recipient.
> Any use, review, disclosure, copying, distribution or reliance by 
others,
> and any forwarding of this email or its contents, without the express
> permission of the sender is strictly prohibited by law. If you are not 
the
> intended recipient, please contact the sender immediately, delete the
> e-mail and destroy all copies.
> **
>



-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com <http://jweekend.com/>



**

This email and any attachments may contain information that is 
confidential and/or privileged for the sole use of the intended recipient. 
 Any use, review, disclosure, copying, distribution or reliance by others, 
and any forwarding of this email or its contents, without the express 
permission of the sender is strictly prohibited by law.  If you are not 
the intended recipient, please contact the sender immediately, delete the 
e-mail and destroy all copies.
**



**

This email and any attachments may contain information that is confidential 
and/or privileged for the sole use of the intended recipient.  Any use, review, 
disclosure, copying, distribution or reliance by others, and any forwarding of 
this email or its contents, without the express permission of the sender is 
strictly prohibited by law.  If you are not the intended recipient, please 
contact the sender immediately, delete the e-mail and destroy all copies.
**

Reply via email to