La requête de savon avec jQuery / Phonegap échoue toujours sur Android

J'ai développé une application iPhone / Android avec jQuery mobile & Phonegap (maintenant Cordova). Cette application utilise différents services sans problème. L'un de ces services est un soap soap, alors j'utilise jsSOAPClient (jquery.jqSOAPClient.js) pour jQuery afin de demander le service. Je n'ai aucun problème à partir d'un périphérique iOS, mais la requête échoue toujours sur Android.

Dans jsSOAPClient, la demande ressemble à ceci:

  • Comment activer le clavier physique sur Emulator dans Android Studio? (Travaillait)
  • Meteor recharge sans fin après le redéploiement sur le serveur avec appcache
  • Comment vérifier l'état actuel du récepteur GPS?
  • Webview ne peut pas accepter les cookies
  • Comment créer des répertoires et des dossiers de fichiers dans le système de fichiers data / data / project d'Android
  • OnActivityResult () non appelé
  • 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); } }); 

    La valeur "status" de getResponse est "erreur" et la valeur "SOAPClient.Status" (égale à "xData.status") est "0".

    Le serveur semble ne pas recevoir de demande du tout …

    Je répète que le même code avec les mêmes données de demande a des résultats sur iOS.

    Merci pour l'aide.

    / EDIT * / J'ai essayé de commenter la ligne:

     //type: "POST", 

    Cela semble fonctionner, je veux dire que j'ai un code de statut 200 dans ce cas, même si j'ai une erreur d'analyse due au format de réponse inattendu.

  • SurfaceView, SurfaceTexture et MediaPlayer ne peuvent pas lire ma vidéo sur Android
  • Android: Comment obtenir les données Google Fit à partir du périphérique Wearable?
  • Android InstantiationException With Fragment (It is Public)
  • Comment utiliser le flux Master / Detail avec les onglets sur Android
  • Récepteur Android pour plusieurs actions?
  • Comment ajouter une vue dynamique entre les éléments de RecyclerView dans Android?
  • One Solution collect form web for “La requête de savon avec jQuery / Phonegap échoue toujours sur Android”

    Apparemment, il y a un bug dans Android 2.x où définir l'en-tête "Content-length" provoque le problème que vous décrivez. Il semble que le bogue a été corrigé dans Android 4.0.3. Essayez donc votre code non modifié dans l'émulateur 4.0.3 et il devrait fonctionner, revenez à 2.x et supprimez l'en-tête de longueur de contenu pour voir si cela fonctionne aussi.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.