Aller au contenu

Bienvenue sur le forum de FrAndroid,
une communauté fondée par des passionnés pour des passionnés.

Nous sommes une communauté dédiée à Android et tout ce qui gravite autour. Si vous cherchez à tirer le meilleur parti de votre appareil, à le personnaliser, à ajouter des fonctions ou simplement à avoir des réponses à vos questions. Rejoignez-nous. C'est gratuit.

Connexion Inscription

Photo

invocation d'un web service


  • Merci de vous connecter pour répondre
12 réponses à ce sujet

#1
MA.

MA.

    Membre

  • Membre
  • 14 messages
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...leWS?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/" 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?

Publicité

edelalife

Les meilleures offres du moment :

#2
chpil

chpil

    RdS Développement

  • Responsable de section
  • 864 messages
  • LieuRennes
  • Modèle:Nexus 4 - Nexus 7 - Minix X5
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
  • MA. aime ceci

#3
MA.

MA.

    Membre

  • Membre
  • 14 messages
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, 23 October 2012 - 14:56.


#4
chpil

chpil

    RdS Développement

  • Responsable de section
  • 864 messages
  • LieuRennes
  • Modèle:Nexus 4 - Nexus 7 - Minix X5
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...

#5
MA.

MA.

    Membre

  • Membre
  • 14 messages
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, 23 October 2012 - 15:20.


#6
MA.

MA.

    Membre

  • Membre
  • 14 messages
personne peut m'aider ?

#7
chpil

chpil

    RdS Développement

  • Responsable de section
  • 864 messages
  • LieuRennes
  • Modèle:Nexus 4 - Nexus 7 - Minix X5
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)
  • MA. aime ceci

#8
bernardvincent

bernardvincent

    Newbie

  • Membre
  • 2 messages
  • Marque:samsung
  • Modèle:galasy s2
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.

#9
MA.

MA.

    Membre

  • Membre
  • 14 messages
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, 06 November 2012 - 15:38.


#10
MA.

MA.

    Membre

  • Membre
  • 14 messages
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)?

#11
MA.

MA.

    Membre

  • Membre
  • 14 messages
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) 


#12
MA.

MA.

    Membre

  • Membre
  • 14 messages
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.

#13
chpil

chpil

    RdS Développement

  • Responsable de section
  • 864 messages
  • LieuRennes
  • Modèle:Nexus 4 - Nexus 7 - Minix X5
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...




0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)