Aller au contenu

invocation d'un web service


mounirloubari

Recommended Posts

Bonjour,

j'ai un petit souci avec l'invocation de web service que j'ai développé sur mon poste local, mon client est une application android simple , l'appli bug lors de l’exécution de l’instruction :

androidHttpTransport.call(SOAP_ACTION, envelope);

l'URL que j'utilise est : http://10.226.245.15:8080/test/ExempleWS?wsdl.(avec une adresse IP de mon poste local).

et avec SOAP_ACTION = "" car il est déclaré vide dans mon WSDL :

<?xml version="1.0" encoding="UTF-8" ?>

- <wsdl:definitions name="ExempleWSService" targetNamespace="http://ExempleWS.ws.test.fr/" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/'>http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://ExempleWS.ws.test.fr/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

- <wsdl:message name="greet">

<wsdl:part name="arg0" type="xsd:string" />

</wsdl:message>

+ <wsdl:message name="sum">

<wsdl:part name="arg0" type="xsd:int" />

<wsdl:part name="arg1" type="xsd:int" />

</wsdl:message>

- <wsdl:message name="mutiply">

<wsdl:part name="arg0" type="xsd:int" />

<wsdl:part name="arg1" type="xsd:int" />

</wsdl:message>

- <wsdl:message name="mutiplyResponse">

<wsdl:part name="return" type="xsd:int" />

</wsdl:message>

- <wsdl:message name="greetResponse">

<wsdl:part name="return" type="xsd:string" />

</wsdl:message>

- <wsdl:message name="sumResponse">

<wsdl:part name="return" type="xsd:int" />

</wsdl:message>

- <wsdl:portType name="IExempleWS">

- <wsdl:operation name="greet">

<wsdl:input message="tns:greet" name="greet" />

<wsdl:output message="tns:greetResponse" name="greetResponse" />

</wsdl:operation>

- <wsdl:operation name="sum">

<wsdl:input message="tns:sum" name="sum" />

<wsdl:output message="tns:sumResponse" name="sumResponse" />

</wsdl:operation>

- <wsdl:operation name="mutiply">

<wsdl:input message="tns:mutiply" name="mutiply" />

<wsdl:output message="tns:mutiplyResponse" name="mutiplyResponse" />

</wsdl:operation>

</wsdl:portType>

- <wsdl:binding name="ExempleWSServiceSoapBinding" type="tns:IExempleWS">

<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />

- <wsdl:operation name="greet">

<soap:operation soapAction="" style="rpc" />

+ <wsdl:input name="greet">

<soap:body namespace="http://ExempleWS.ws.test.fr/" use="literal" />

</wsdl:input>

- <wsdl:output name="greetResponse">

<soap:body namespace="http://ExempleWS.ws.test.fr/" use="literal" />

</wsdl:output>

</wsdl:operation>

- <wsdl:operation name="sum">

<soap:operation soapAction="" style="rpc" />

- <wsdl:input name="sum">

<soap:body namespace="http://ExempleWS.ws.test.fr/" use="literal" />

</wsdl:input>

- <wsdl:output name="sumResponse">

<soap:body namespace="http://ExempleWS.ws.test.fr/" use="literal" />

</wsdl:output>

</wsdl:operation>

- <wsdl:operation name="mutiply">

<soap:operation soapAction="" style="rpc" />

- <wsdl:input name="mutiply">

<soap:body namespace="http://ExempleWS.ws.test.fr/" use="literal" />

</wsdl:input>

- <wsdl:output name="mutiplyResponse">

<soap:body namespace="http://ExempleWS.ws.test.fr/" use="literal" />

</wsdl:output>

</wsdl:operation>

</wsdl:binding>

- <wsdl:service name="ExempleWSService">

- <wsdl:port binding="tns:ExempleWSServiceSoapBinding" name="ExempleWSPort">

<soap:address location="http://localhost:8080/test/ExempleWS" />

</wsdl:port>

</wsdl:service>

</wsdl:definitions>

personne peut m aider?

  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

Et quand tu dis que ça bugge, il se passe quoi ? une exception ? que dit le LogCat ?

Ps: pense à utiliser les balises [ code ] lorsque tu insères du code dans tes posts, ça le rendrait plus lisible... Merci

  • Like 2
Lien vers le commentaire
Partager sur d’autres sites

et as tu essayé d'accéder à l'URL que tu utilises depuis le navigateur de ton smartphone ? parce que l'erreur semblerait indiquer que ton appli n'arrive pas à accéder à ton serveur...

  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

c'est l'erreur que mon émulateur crash quant j'utilise son navigateur.

ps: URL marche bien dans google chrome.

sachant que je suis derrière un proxy.

onReceivedError -2 http://www.google.com/m?hl=fr&gl=fr&source=android-browser-type&q=http%EF%BC%9A%EF%BC%8F%EF%BC%8F10%EF%BC%8E226%EF%BC%8E245%EF%BC%8E15%EF%BC%9A8080%EF%BC%8Ftest%EF%BC%8FExempleWS%EF%BC%9Fwsdl URL introuvable.

Modifié par mounirloubari
  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

Tu peux résumer ce que tu cherches à faire ? parce que je ne comprends pas trop...

Tu veux accéder depuis ton appli Android, qui tourne sur l'émulateur, à un web-service : il est situé où, ce web-service ? sur un serveur ? sur ton poste de dév. ?

Si ce que tu veux faire, c'est accéder depuis l'émulateur à un web-service déployé sur ton poste de dév., alors l'adresse ip à utiliser pour accéder à ce web-service est 10.0.2.2, et non l'adresse ip réelle de ta machine (cf documentation de l'émulateur)

  • Like 2
Lien vers le commentaire
Partager sur d’autres sites

  • 2 weeks later...

Je crains Mounirloubari que tu ne trouves pas ta réponse ici, pas plus qu'ailleurs. Depuis 1 mois je bloque sur le même problème que toi, j'ai écumé tous les forums, le problème est rencontré par plein de gens mais personne n'est capable de fournir la solution.

androidHttpTransport.call(SOAP_ACTION, envelope) : cette fichue ligne est toujours refusée, j'ai tout essayé mais en vain.

Je commence à croire qu'il n'est tout simplement pas possible d'accéder à un service SOAP depuis Androïd.

Si tu as la réponse, je suis bien sur preneur, et j'aimerais bien que si quelqu'un a utilisé SOAP nous dise comment il a fait.

Tous les codes sur internet sont identiques à ce sujet pourtant, donc aucun ne doit fonctionner. Je crois bien que je vais devoir repasser sur Windows Phone, au moinslà, les services Soap fonctionnent nickel.

Merci et courage.

  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

Bonjours,

je viens de faire fonctionner ma connexion au web service, mon erreur c’était l'adresse IP que je doit fournir dans l'URL du WSDL (merci chpil ).

donc je ne sais tu as quoi comme erreur mais essaie:

SOAP_ACTION1 = NAMESPACE + METHOD_NAME1

URL:

http://10.0.2.2:8080/test/ExempleWS?wsdl

dans le cas ou ton web service tourne sur ton poste local.

sinon tu as quoi comme erreur , peut être je pourrais t aider?

Modifié par mounirloubari
  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

  • 3 months later...
  • 2 years later...

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...