Imroper handling of empty ajax response with empty CDATA text node.
-------------------------------------------------------------------
Key: WICKET-4232
URL: https://issues.apache.org/jira/browse/WICKET-4232
Project: Wicket
Issue Type: Bug
Components: wicket, wicket-extensions
Affects Versions: 1.4.18
Environment: Mac OS 10.4.11 & Safari 4.1.3 and Mac OS 10.5 & Safari 5.
Reporter: Alexander Yatsenko
After moving one of items on Palette component at once subsequent ajax requests
are impossible due to default's channel busy behavior ("Channel busy -
postponing...").
Code tracing has shown that the problem source is possible improper
implementation of DOMParser in mentioned browsers which lead to wrong parsing
of empty response xml:
<?xml version="1.0"
encoding="UTF-8"?><ajax-response><evaluate><![CDATA[]]></evaluate></ajax-response>,
particularly empty text node <!'CDATA[]]> hasn't been parsed.
As a result, the processEvaluation function of WicketAjaxCall's object cause
exception in the line of code:
var text = node.firstChild.nodeValue;
(because of absence of child node in evaluate's element).
As a result, all necessary steps could not be processed and default channel
isn't closed by Request object.
The workaround found to solve this issue is to add the
AjaxFormComponentUpdatingBehavior("onchange") to the Recorder element in
panel's recorder factory method and override the onUpdate event with appending
some none empty string to target object.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira