Jump to content

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

Link to comment
Share on other 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\"?>");

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...