Aller au contenu

Recommended Posts

Posté(e)

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
Posté(e)

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
Posté(e) (modifié)

En fait pendant mon débogage mon programme plante quand j'invoque le web service:

androidHttpTransport.call(SOAP_ACTION, envelope)

le LogCat me dit : request time failed :java.net.SocketException: Address family not supported by protocol.

Modifié par mounirloubari
  • Like 1
Posté(e)

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
Posté(e) (modifié)

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
Posté(e)

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
  • 2 weeks later...
Posté(e)

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
Posté(e) (modifié)

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
Posté(e)

Bonjour,

en fait la j'essaie d'envoyer une position (un objet) à mon web service, le LogCat me signale cette erreur:

java.lang.RuntimeException: Cannot serialize: com.example.entity.Position@44e94578

comment faire pour sérialiser mon objet (sachant que j ai implémenté l interface Serializable)?

  • Like 1
Posté(e)

et maintenant mon LogCat m 'affiche:

org.xmlpull.v1.XmlPullParserException: expected: END_TAG {http://schemas.xmlsoap.org/soap/envelope/}Body (position:END_TAG </{http://schemas.xmlsoap.org/soap/envelope/}soap:Fault>@1:316 in java.io.InputStreamReader@44ea65a0) 

  • Like 1
  • 3 months later...
Posté(e)

Bonjour,

Toujours une question concernant l'appel d'un web service , dans le cas d'utilisation d'une tablette, quelle adresse IP dois-je utiliser (sachant sur le web service tourne sur un serveur distant).

Dois-je utiliser l'adresse IP du serveur?

merci de m'aider.

  • Like 1
Posté(e)

Bien évidemment que tu dois utiliser l'adresse du serveur (ip ou son nom). Et que ce soit un appel depuis une tablette, un smartphone ou autre n'y change rien...

  • Like 1
  • 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...