Um servlet que retorna um XML, esse retorno tem em uma tag um texto, quando eu pego esse texto para carregar um textarea ele é cortado, o textarea não tem limitação de caracter, mesmo em um alert() o problema ocorre. Agora o curioso é que no responseText o texto juntamente com as outras tags do XML aparecem por completo, ou seja, tenho o XML completo no browser. Estou usando o seguinte código para pegar o texto do XML:
function initRequest(url) {
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
req.open("GET", url, true); }
}
<script language="JavaScript">
var tXHR=0;
function XMLHTTPRequest() {
if (window.XMLHttpRequest) {
a=new XMLHttpRequest(); } //Objeto nativo (FF/Safari/Opera7.6+)
else {
try {
a=new ActiveXObject("Msxml2.XMLHTTP"); //activeX (IE5.5+/MSXML2+)
}
catch(e) {
try {
a=new ActiveXObject("Microsoft.XMLHTTP"); //activeX (IE5+/MSXML1)
}
catch(e) { /* O navegador não tem suporte */
a=false;
}
}
}
return a;
}
function Teste() {
tXHR=XMLHTTPRequest();
if (tXHR) {
tXHR.open("POST", "<seu servlet>/Teste", true);
tXHR.onreadystatechange=recebeResultado;
tXHR.send(null);
}
}
function recebeResultado() {
if (!tXHR) {
return false;
}
else {
if (tXHR.readyState == 4) {
if (tXHR.status == 200) {
var tag = tXHR.responseXML.getElementsByTagName("atividade");
alert("Valor da primeira tag teste: " + tag[0].getElementsByTagName("teste").item(0).firstChild.data);
alert("Valor da segunda tag teste: " + tag[1].getElementsByTagName("teste").item(0).firstChild.data);
alert("Valor da terceira tag teste: " + tag[2].getElementsByTagName("teste").item(0).firstChild.data);
}
else {
alert('Erro! "'+ tXHR.statusText +'" (erro '+ tXHR.status +')');
}
}
}
}
</script>
Pra você testar chame a função javascript Teste.
Tente executar esse exemplo no seu servlet e veja se alcança o mesmo resultado. Qualquer coisa dê um berro.