- _messageHandler : function(request) {\r
- try {\r
- if (request.status == 200) {\r
- var response = request.responseXML\r
- .getElementsByTagName("ajax-response");\r
- if (response != null && response.length == 1) {\r
- for (var i = 0; i < response[0].childNodes.length; i++) {\r
- var responseElement = response[0].childNodes[i];\r
-\r
- // only process nodes of type element.....\r
- if (responseElement.nodeType != 1)\r
- continue;\r
-\r
- var id = responseElement.getAttribute('id');\r
-\r
- var handler = this._handlers[id];\r
- if (handler != null) {\r
- for (var j = 0; j < responseElement.childNodes.length; j++) {\r
- handler(responseElement.childNodes[j]);\r
- }\r
- }\r
- }\r
- }\r
+ _messageHandler : function(response) {\r
+ var doc = response.getContent();\r
+ var NSMap = {slc:"http://argeo.org/projects/slc/schemas"};\r
+ var messages = org.argeo.ria.util.Element.selectNodes(doc, "//response", NSMap);\r
+ //this.info("Received " + messages.length + " messages");\r
+ for(var i=0;i<messages.length;i++){\r
+ var id = messages[i].getAttribute("id");\r
+ var slcExec = org.argeo.ria.util.Element.selectSingleNode(messages[i], "slc:slc-execution", NSMap); \r
+ if(id && this._handlers[id] && slcExec){\r
+ this._handlers[id](slcExec);\r