Desarrollé una aplicación de iPhone/Android con jQuery mobile & Phonegap (ahora Cordova). Esta aplicación utiliza diferentes servicios sin problema. Uno de estos servicios es uno de Soap, así que uso el jsSOAPClient (jquery.jqSOAPClient.js) para jQuery para solicitar el servicio. No tengo ningún problema desde un dispositivo iOS pero la consulta siempre falla en Android.Consulta de jabón con jQuery/Phonegap siempre falla en Android
En jsSOAPClient la solicitud de que se parece a:
function getResponse(xData, status) {
if(!!callback) {
SOAPClient.Status = xData.status;
SOAPClient.ResponseText = xData.responseText;
SOAPClient.ResponseXML = xData.responseXML;
callback(xData.responseXML);
}
}
$.ajax({
type: "POST",
url: SOAPClient.Proxy,
dataType: "xml",
processData: false,
data: content,
complete: getResponse,
beforeSend: function(req) {
req.setRequestHeader("Method", "POST");
req.setRequestHeader("Content-Length", SOAPClient.ContentLength);
req.setRequestHeader("Content-Type", SOAPClient.ContentType + "; charset=\"" + SOAPClient.CharSet + "\"");
req.setRequestHeader("SOAPServer", SOAPClient.SOAPServer);
req.setRequestHeader("SOAPAction", soapReq.Action);
}
});
El "getResponse" "status" valor es "error" y el "SOAPClient.Status" (igual a "xData.status") es el valor " 0 ".
El servidor parece que no reciba la solicitud en todos los ...
repito que el mismo código con la misma petición datas más tienen resultados en iOS.
Gracias por la ayuda.
/ EDITAR */ traté de comentar la línea:
//type: "POST",
parece que funciona, quiero decir que tener un código de estado 200, en este caso, incluso si tengo una error de análisis debido al formato de respuesta inesperado.
Tengo este mismo problema, por lo tanto, mi oferta de la recompensa. Tengo algo de información adicional. Le pedí al administrador de la red que usara wireshark para ver los paquetes entre el teléfono y el servidor. Esto es lo que observó: –
"Parece que TLSv1 está cancelando con una alerta cifrada confirmada por el servidor. Hay paquetes FIN seguidos de un restablecimiento (RST). Esto parece un saludo de mano que falla en el cliente en la cola fin del proceso de negociación ". Miré el mensaje y vi esto: "TLSv1 Record Layer: Encrypted Alert; Content Type: Alert (21); Version TLS 1.0 (0x0301); Length 24; Alert Message: Encrypted Alert". Al igual que el OP, solo estoy teniendo un problema en Android. –
Aquí hay dos enlaces de personas que ven lo mismo que nosotros en wireshark: http: //code.google.com/p/android/issues/detail? Id = 8334 y http://groups.google.com/group/android -security-discuss/tree/browse_frm/month/2010-05? _done =% 2Fgroup% 2Fandroid-security-discuss% 2Fbrowse_frm% 2Fmonth% 2F2010-05% 3F & –