View Full Version : appendChild with apache ( ReadResponse() failed in fiddler2)

05-17-2012, 05:50 PM
I have:

Windows server 2008 enterprise edition
Apache 2.2.15 for windows
Netbeans 6.7.1
Glassfish 2.1
Drupal 6.17 (that by default
PostgreSQL 8.4 administrated through pgAdmin 1.10.0 (to store Netbeans elaborated data)
Firefox and Chrome give me the same problem, tools used are even Httpfox and Fiddler2


I have a page where the user has to insert his own data, there are 2 types of data, Atributos and Datos. Atributos are on a atributos_user table in PostgreSQL and has 49 columns, Datos on datos_user, that has 119 columns. So when I clic on save, the js file on the page does:

function guardaTodo(){

var retvalue;

retvalue = guardarMisDatos();
if(retvalue == false) { return retvalue; }
retvalue = guardarAtributos();

The function guardarAtributos works fine, so I guess that this one above is written correctly. The function guardarMisDatos is written the same way, and pretends to collect all the data through Netbeans. so whenever I click on the save button, i get in the web console this:

The function guardarMisDatos does like this:

var param ="&usuario="+usuario+"&nivel="+nivel+gano+porc_gano+gasto+porc_gasto+tengo+porc_tengo+debo+ porc_debo+plazo_debo;
var s = document.createElement("script");
s.type = "text/javascript"; s.async = true;
s.src = server_direction +"setMisDatos?callback=respuestaGuardarMisDatos&param="+encodeURIComponent(param);
var h = document.getElementsByTagName("script")[0];
h.parentNode.insertBefore(s, h); //or h.appendChild(s);
where every variable of the "param" is taken like this:

var plazo_debo_casa1 = (getValor("plazo_debo_casa1"));
var plazo_debo_casa2 = (getValor("plazo_debo_casa2"));
var plazo_debo_casa3 = (getValor("plazo_debo_casa3"));
var plazo_debo_prestamo1 = (getValor("plazo_debo_prestamo1"));
var plazo_debo_prestamo2 = (getValor("plazo_debo_prestamo2"));
var plazo_debo_prestamo3 = (getValor("plazo_debo_prestamo3"));
var plazo_debo ="&plazo_debo_casa1="+plazo_debo_casa1+"&plazo_debo_casa2="+plazo_debo_casa2+"&plazo_debo_casa3="+plazo_debo_casa3+"&plazo_debo_prestamo1="+plazo_debo_prestamo1+"&plazo_debo_prestamo2="+plazo_debo_prestamo2+"&plazo_debo_prestamo3="+plazo_debo_prestamo3;
so anytime I call the function, i mean, i click on save, the browser fires:

http://www.mirodinero.com:8080/mirodinero-war/setMisDatos?callback=respuestaGuardarMisDatos&param=%26usuario%3DIsa%20Mirodinero%26nivel%3D109%26gano_sal_neto%3D211113.45%26gano_sal_prof%3D2344 80%26gano_monet%3D0%26gano_renta_fija%3D0%26gano_renta_vble%3D0%26gano_inmuebles%3D6750%26gano_otros %3D23730%26gano_otros_ing%3D411125%26porc_gano_monet%3D0%26porc_gano_rentaf%3D0%26porc_gano_rentav%3 D0%26porc_gano_inm%3D2%26porc_gano_otros%3D2%26porc_gano_otros_ing%3D1%26gasto_casa1%3D1306.46%26gas to_casa2%3D2402.38%26gasto_casa3%3D3999.57%26gasto_prestamo1%3D93475.58%26gasto_prestamo2%3D7325.88% 26gasto_prestamo3%3D34090.9%26gasto_tarjetas%3D29443.2%26gasto_ibi%3D5670%26gasto_imp_otros%3D6780%2 6gasto_seg_inm%3D1320%26gasto_seg_pens%3D3451.22%26gasto_seg_vida%3D330%26gasto_seg_plan%3D34230%26g asto_seg_medico%3D1220%26gasto_seg_coche%3D20%26gasto_luz%3D620%26gasto_agua%3D4550%26gasto_gas%3D32 0%26gasto_telef_f%3D320%26gasto_telef_m%3D350%26gasto_internet%3D20%26gasto_tv%3D3450%26gasto_hogar% 3D20%26gasto_comida%3D20%26gasto_cenas_copas%3D20%26gasto_viajes%3D20%26gasto_vacaciones%3D220%26gas to_mobiliario%3D220%26gasto_ropa%3D2320%26gasto_transp%3D20%26gasto_otros%3D620%26gasto_colegios%3D2 40%26gasto_univ%3D340%26gasto_master%3D2230%26gasto_otros_gastos%3D73433%26porc_gasto_tarjetas%3D0%2 6porc_gasto_ibi%3D0%26porc_gasto_trib%3D0%26porc_gasto_seg_inm%3D0%26porc_gasto_seg_pens%3D0%26porc_ gasto_seg_vida%3D2%26porc_gasto_seg_plan%3D2%26porc_gasto_seg_med%3D0%26porc_gasto_seg_coche%3D0%26p orc_gasto_sum_luz%3D2%26porc_gasto_sum_agua%3D2%26porc_gasto_sum_gas%3D0%26porc_gasto_sum_teleff%3D0 %26porc_gasto_sum_telefm%3D0%26porc_gasto_sum_int%3D0%26porc_gasto_sum_tv%3D0%26porc_gasto_nivel_hog ar%3D0%26porc_gasto_nivel_comida%3D0%26porc_gasto_nivel_cenas%3D0%26porc_gasto_nivel_viajes%3D0%26po rc_gasto_nivel_vacac%3D0%26porc_gasto_nivel_mob%3D0%26porc_gasto_nivel_ropa%3D0%26porc_gasto_nivel_t ransp%3D0%26porc_gasto_nivel_otros%3D0%26porc_gasto_colegios%3D2%26porc_gasto_univ%3D0%26porc_gasto_ master%3D0%26porc_gasto_otros_gastos%3D23%26tengo_casa1%3D1231.11%26tengo_casa2%3D10000%26tengo_casa 3%3D22240%26tengo_otras%3D23560%26tengo_monetario%3D1212.34%26tengo_planpensiones%3D23230%26tengo_ot ros%3D23330%26porc_tengo_casa1%3D1%26porc_tengo_casa2%3D0%26porc_tengo_casa3%3D2%26porc_tengo_otras% 3D0%26porc_tengo_monet%3D0%26porc_tengo_plan%3D0%26porc_tengo_otros%3D0%26debo_casa1%3D4340%26debo_c asa2%3D23450%26debo_casa3%3D23430%26debo_prestamo1%3D23330%26debo_prestamo2%3D6871.11%26debo_prestam o3%3D11340%26debo_tarjetas%3D61340%26porc_debo_casa1%3D30%26porc_debo_casa2%3D10%26porc_debo_casa3%3 D12%26porc_debo_prestamo1%3D1%26porc_debo_prestamo2%3D12%26porc_debo_prestamo3%3D1%26porc_debo_tarje tas%3D4%26plazo_debo_casa1%3D230%26plazo_debo_casa2%3D450%26plazo_debo_casa3%3D122%26plazo_debo_pres tamo1%3D3%26plazo_debo_prestamo2%3D12%26plazo_debo_prestamo3%3D4
and doesn't work on the first click, or after 30 seconds idle, like browsing another tab, etc.

Tried Solutions:

Tried changing h.appendChild(s) to parentNode.insertBefore(s, h) -> works better but not enough
Change the order of guardaTodo exchanging the 2 functions -> guardarMisDatos never works
Included httpd-default.conf to the httpd.conf file, setting this parameters:

Timeout: The number of seconds before receives and sends time out. Timeout 30000

KeepAlive: Whether or not to allow persistent connections (more than one request per connection). Set to "Off" to deactivate. KeepAlive On

MaxKeepAliveRequests: The maximum number of requests to allow during a persistent connection. Set to 0 to allow an unlimited amount. We recommend you leave this number high, for maximum performance. MaxKeepAliveRequests 0

KeepAliveTimeout: Number of seconds to wait for the next request from the same client on the same connection. KeepAliveTimeout 500

Divide the guardarMisDatos function into more pieces, like saving only part of the Datos -> it works fine on that columns that i'm saving, but deletes all remaining columns

What I'm searching for:

I have been searching what kind of setting I should change in Apache httpd.conf to enable a connection that doesn't timeout and opens on the right time. My Apache httpd.conf is of the kind that includes other httpd-*.conf files.


From httpfox i get NS_ERROR_NET_RESET, that occurs on the first click to the "save" button, or after a while that i don't view that page. I counted how much time shall I stay idle to "lose" the connection (and get the same error), it's more or less 30 seconds. So I even checked with fiddler2, and get this kind of message:

"ReadResponse() failed: The server did not return a response for this request."

Observation (Similar case):

I've found this question to have a problem similar to mine, but I already talked with my hosting service and they told me that there is no firewall preventing connections.


I don't have a solution, it's been weeks now, and probably nobody helped me because the stuation was not well explained, that's why now i wrote it down with more details as possible. I hope that now this is well explained and to get some help.

Logic Ali
05-17-2012, 06:09 PM
function guardaTodo(){

var retvalue;

retvalue = guardarMisDatos();
if(retvalue == false) { return retvalue; }
retvalue = guardarAtributos();

}You have a function that does not always return a value, which is not a good practice and may be the cause of your problem.

05-17-2012, 06:28 PM
this function works always, because i ALWAYS get a result from guardarAtributos. The problem is in the first function