Jump to content

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
Link to comment
Share on other 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
Link to comment
Share on other 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
Link to comment
Share on other 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.

Edited by mounirloubari
  • Like 1
Link to comment
Share on other 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
Link to comment
Share on other 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
Link to comment
Share on other 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?

Edited by mounirloubari
  • Like 1
Link to comment
Share on other sites

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

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