Aller au contenu

Probleme reception donnée d'un webservice


jomox

Recommended Posts

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 ;)

Lien vers le commentaire
Partager sur d’autres sites

  • 2 months later...

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\"?>");

Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...