+ Start a Discussion
BAGELBAGEL 

What does this mean?

I got the following error msg as soon as I include my prototype array script to expand the methods of Array in my s-control. Any idea what happened?

{faultcode:'soapenv:Client', faultstring:'Attribute "xmlns" bound to namespace "http://www.w3.org/2000/xmlns/" was already specified for element "getUserInfo".', }

function (s) { var found = false; for (var i = 0; i < this.length; i++) { if (this[i] == s) { found = true; break; } } return found; }
function (a) { if (this.length != a.length) { return false; } for (var i = 0; i < this.length; i++) { if ((typeof this[i] != typeof a[i]) || (this[i] != a[i])) { return false; } } return true; }
function (func) { for (var i = 0; i < this.length; i++) { this[i] = func(this[i]); } }
function (value, index) { this.splice(index, 0, value); }
function (value) { this.insertAtIndex(value, this.length); }
function (index) { this.splice(index, 1); }
function (value) { var indexes = []; for (var i = 0; i < this.length; i++) { if ((typeof this[i] == typeof value) && (this[i] == value)) { indexes.push(i); } } for (var i = indexes.length - 1; i >= 0; i--) { this.splice(indexes[i], 1); } }
function () { var unique = []; var indexes = []; for (var i = 0; i < this.length; i++) { if (unique.indexOf(this[i]) == -1) { unique.push(this[i]); } else { indexes.push(i); } } for (var i = indexes.length - 1; i >= 0; i--) { this.splice(indexes[i], 1); } return unique; }
function () { var copy = []; for (var i = 0; i < this.length; i++) { copy[i] = (typeof this[i].copy != "undefined") ? this[i].copy() : this[i]; } return copy; }
function (index1, index2) { var temp = this[index1]; this[index1] = this[index2]; this[index2] = temp; }
function () { for (var i = 0; i < this.length; i++) { ind1 = Math.floor(Math.random() * this.length); ind2 = Math.floor(Math.random() * this.length); this.swap(ind1, ind2); } }
function () { var trim = []; for (var i = 0; i < this.length; i++) { trim[i] = this[i].trim(); } return trim; }
function () { for (var i = 0; i < this.length; i++) { if (this[i] == "") { this.splice(i, 1); } } }

cheenathcheenath
Ajax Toolkit uses an array to store the namespaces it needs to write
on a request. When prototype extends array with additional functions,
ajax toolkit is writting them as namespace definitions. There is no
workaround for this. Please contact support and file a bug.

Please note that prototype is the culprit here by changes the behavior of
standard lang objects. You should consider using toolkits that behave well
with others, like dojo.



BAGELBAGEL
Thanks for the explaination.