jomox Posté(e) 13 mars 2011 Share Posté(e) 13 mars 2011 Hello, j'espère que je suis bien dans la bonne catégorie. Voila j'ai un dev android qui utilise ksoap pour interroger un webservice. J'ai créer 2 webservices php sur un serveur et j'en ai un qui fonctionne, je récupère bien le resultat, mais le pour le deuxième, je vois bien ma donnée en retour (en debug), dans la base bodyIn de mon enveloppe mais impossible de la récupérer avec la methode getResponse. Je precise que ce code est commun a 2 webservices et que l'un des 2 me ramene bien la valeur avec la methode getResponse. SoapPrimitive result = null; AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport(URL); try { SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); // Add the input required by web service for (int x=0;x<MyFields.length;x++) { request.addProperty(MyFields[x][0].toString(), MyFields[x][1].toString()); } SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.setOutputSoapObject(request); envelope.implicitTypes=true; envelope.setAddAdornments(false); envelope.encodingStyle = SoapSerializationEnvelope.XSD; envelope.dotNet = true; // Make the soap call. androidHttpTransport.call(SOAP_ACTION, envelope); // Get the SoapResult from the envelope body. result = (SoapPrimitive)envelope.getResponse(); } catch (Exception aE) { System.out.println(aE.toString()); aE.printStackTrace(); } return result; Je me prend la tete la dessus depuis plusieurs heures et je ne trouve pas. Il doit s'agir d'un truc tout con parce que j'ai bien vérifié en debug que ma valeur etait presente apres le call.......mais sans que je comprenne pourquoi, mon resultat reste a null apres l'execution de la méthode getResponse. Si vous avez une idée je suis preneur. Merci d'avance ;) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Simon Daget Posté(e) 16 mai 2011 Share Posté(e) 16 mai 2011 Bonjour, Je vous conseille de vérifier que le web service reçois bien votre requête, il est possible que le problème vienne de l'envoi et non de la réponse. Sinon, vous dites que les web services sont en php, donc vous devriez mettre envelope.dotENt = false; Si votre problème persiste, n'hésitez pas à tester des variantes. Par exemple, remplacez ce code : AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport(URL); par HttpTransportSE HttpTransport = new HttpTransportSE(URL); HttpTransport.setXmlVersionTag("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.