IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windev Mobile Discussion :

Android et Webservices


Sujet :

Windev Mobile

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 49
    Points : 20
    Points
    20
    Par défaut Android et Webservices
    Bonjour,
    j'ai réaliser un webservice qui exécute plusieurs méthodes, j'ai importer le websrvice sur mon projet windev mobile android, ma question c'est: est ce que je peux faire l'appel des méthodes de mon web services sur mon projet android? car quand je l'ai fait la méthode n'est pas appelé, et ca ne donne aucune erreur.
    Merci d'avance.

  2. #2
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 49
    Points : 20
    Points
    20
    Par défaut
    j'ai essayé de tester directement on exécutant la méthode de test sur la tablette ( j'entre l'adresse web du webservice sur le navigateur internet), l'adresse commence par IP du serveur,ce qui est tout à fait normal(http://192.168.2.237/IMPORT_EXPORT_WEB/awws/), je click sur la méthode Export_text
    (http://192.168.2.237/IMPORT_EXPORT_WEB/ ... t_test.htm) et la j'ai un message disant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    la page web à l'adresse http://o-38d739f88d044/IMPORT_EXPORT_WEB/awws/Import_Export.awws est peut être temporairement inaccessible ou a été déplacée définitivement vers une nouvelle adresse web
    Quand j'essaye la même chose sur mon pc tout marche bien.

    Quelqu'un a une idée comment empêcher le changement de 192.168.2.237 par le nom de serveur o-38d739f88d044 quand je clique sur test? ou un autre moyen de contourner ce problème?

    Merci d'avance.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Février 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2010
    Messages : 553
    Points : 1 075
    Points
    1 075
    Par défaut
    Plusieurs remarques pour te répondre :

    - j'utilise les webservices (ws) en android pour accéder a une base hf sql c/s sans aucun souci,c'est d'ailleurs la méthode obligatoire en attendant la v18 (encore que car l'acces natif pour des bases locales sera pour de l'android >3 ce sera peut etre la meme chose pour le cs)

    - je crois que ce sont des procédures globales et non pas des methodes que l'on peut rendre accessibles en ws : verifie

    - comment je fais ? Je consulte la doc ;-) ...voila les étapes
    a. Je cree un ws avec des procédures globales que je déploie sur un serveur webdev
    b. Je recupere l'adresse html de declaration du ws
    c. Je n'utilise pas directement cette adresse dans mon code mais je l'utilise pour declarer/ importer ce ws dans mon projet wm (regarde la doc )
    d. Les procedures globales du ws sont directement accessibles comme si elles avaient ete créées en wm


    Je pense que tu fais fausse oute au moment du point c

  4. #4
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 49
    Points : 20
    Points
    20
    Par défaut
    Bonjour, merci pour votre réponse, mais j'ai fait tous les étapes que vous avez décris aussi j'ai utilisé des procédures globale, j'ai déclarer quelques classes (objets) exemple: C_Visites, ce je veux c'est par exemple exporter les visites de la base de données mobile vers sqlserver sur le serveur, alors j'ai créer une procédure globale.
    Voila le code de ma procédure globale (héberger sur un serveur web):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    PROCEDURE Export_Visite(tableVisite est un tableau de C_Visite)
    v est une C_Visite
     
    POUR TOUT v DE tableVisite
    	Visite.CodeCompagne=v.CodeCompagne
    	Visite.CodeOperateur=v.CodeOperateur
    	Visite.CodeVerger=v.CodeVerger
    	Visite.CodeVisite=v.CodeVisite
    	Visite.Date_Visite=v.Date_Visite
    	Visite.Fonction=v.Fonction_tech
    	Visite.Objectife=v.Objectife
    	Visite.Presence_De=v.Presence_De
    	HAjoute(Visite)
     
    FIN
    et voila l'appel de la procédure:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    tableVisite est un tableau de C_Visite
    vis est une C_Visite
    Req_Get_Visite_Non_Valide.ParamOpérateur=codeop //codeoperateur
    HExécuteRequête(Req_Get_Visite_Non_Valide)
    POUR TOUT Req_Get_Visite_Non_Valide 
    //Visite
          vis.CodeCompagne=Req_Get_Visite_Non_Valide.CodeCompagne
          vis.CodeOperateur=Req_Get_Visite_Non_Valide.CodeOperateur
          vis.CodeVerger=Req_Get_Visite_Non_Valide.CodeVerger
          vis.CodeVisite=Req_Get_Visite_Non_Valide.CodeVisite
          vis.Date_Visite=Req_Get_Visite_Non_Valide.Date_Visite..PartieDate
          vis.Fonction_tech=Req_Get_Visite_Non_Valide.Fonction
          vis.Objectife=Req_Get_Visite_Non_Valide.Objectife
          vis.Presence_De=Req_Get_Visite_Non_Valide.Presence_De
          vis.Visite_Valide=Vrai
          Ajoute(tableVisite,vis)
    Fin
    Export_Visite(tableVisite)
    Alors comme vous voyez je remplie le tableau tableVisite sur mon application mobile et je l'export vers le serveur,mais quand le tableau arrive à la procédure globale je trouve pas mes données tout ce que je récupère est une ligne avec tous les champs à 0.
    Avez vous une idée?
    Merci d'avance

  5. #5
    Membre éprouvé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Février 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2010
    Messages : 553
    Points : 1 075
    Points
    1 075
    Par défaut
    Regarder si les WS sont compatibles d'export de classes .... en ce qui me concerne, je ne transmets que des buffers de caractères, c'est plus basique mais cela marche .

  6. #6
    Membre éprouvé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Février 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2010
    Messages : 553
    Points : 1 075
    Points
    1 075
    Par défaut
    Je viens de voir dans la doc (http://doc.pcsoft.fr/fr-FR/?3086002&...e&q=webservice)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Remarques :
    - Si les paramètres des procédures ne sont pas typés, ils seront automatiquement reçus sous forme de chaînes de caractères Unicode. Il est donc nécessaire de typer les paramètres qui doivent être différents d'une chaîne de caractères Unicode.
    - Les procédures peuvent être marquées comme publiques ou privées. Une procédure publique pourra être utilisée dans les projets qui importeront le Webservice. Une procédure privée ne pourra pas être utilisée dans les projets qui importeront le Webservice (la procédure ne sera pas visible dans l'explorateur de projet). Pour marquer une procédure comme publique ou privée, utilisez le menu contextuel sur le nom de la procédure dans l'explorateur de projet.
    - Les procédures peuvent renvoyer des classes, des structures, des tableaux de structures ou des tableaux de classes. Les tableaux renvoyés sont limités à une seule dimension.
    Donc tu as peut-être un souci avec la première remarque sur l'envoi des paramêtres .... sinon fais une requête au Support Technique Gratuit, ils vont te répondre, et dis nous ce qu'il t'auront suggéré.

  7. #7
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 49
    Points : 20
    Points
    20
    Par défaut
    Oui j'ai soumis la question au service de support de PCSoft, en attendant la réponse j'ai remarqué que en testant une procédure d'import (SQLServer vers Mobile) sur le navigateur de mon pc j'avais le résultat suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Body>
    <ns1:Import_CC_VisitesResponse xmlns:ns1="urn:Import_Export">
    <Import_CC_VisitesResult>
    <m_nCodeVisite>1</m_nCodeVisite>
    <m_nCodeCompagne>2</m_nCodeCompagne>
    <m_nCodeVerger>221</m_nCodeVerger>
    <m_nCodeOperateur>1</m_nCodeOperateur>
    <m_nObjectife>1</m_nObjectife>
    <m_dDate_Visite>2012-06-09</m_dDate_Visite>
    <m_sPresence_De>Anas Rehmouni</m_sPresence_De>
    <m_sFonction_tech>Responsable du verger</m_sFonction_tech>
    <m_bVisite_Valide>false</m_bVisite_Valide>
    </Import_CC_VisitesResult>
    <Import_CC_VisitesResult>
    <m_nCodeVisite>2</m_nCodeVisite>
    <m_nCodeCompagne>2</m_nCodeCompagne>
    <m_nCodeVerger>221</m_nCodeVerger>
    <m_nCodeOperateur>1</m_nCodeOperateur>
    <m_nObjectife>1</m_nObjectife>
    <m_dDate_Visite>2012-06-18</m_dDate_Visite>
    <m_sPresence_De>tttt</m_sPresence_De>
    <m_sFonction_tech>ttttttt</m_sFonction_tech>
    <m_bVisite_Valide>false</m_bVisite_Valide>
    </Import_CC_VisitesResult>
    </ns1:Import_CC_VisitesResponse>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    Les données sont bien organiser dans une structure xml de soap.
    Mais quand je teste sur la tablette j'ai le résultats suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1221112012-06-09-Anas RehmouniResponsable du vergerfalse22221112012-06-18tttttttttttfalse
    Comme vous voyez ca respect pas la forme standard, vous croyez que le problème viens de la?

  8. #8
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 49
    Points : 20
    Points
    20
    Par défaut
    Le support PCSoft ma répondu :

    Je vous conseille de compléter le traitement d'écriture de résultat par exemple dans un fichier texte ".log". Testez bien le résultat des fonctions afin de récupérer les ErreurInfo en cas d'échec, ajoutez des informations sur la connexion, le nombre d'enregistrements...
    j'ai crée le fichier log en question et ca donne rien, juste des erreurs de contraints de clés étrangère, mais c'est normal car le tableau récupéré (tableVisite) ne contient qu'une ligne avec tous les champs à 0, et comme y auna pas de clés étrangère 0 ca déclenche l'erreur enregistrer sur le log. En d'autres mots le problème est que le tableau que j'ai passer en paramètre sur ma tablette se vide avant d'arriver au web service..

Discussions similaires

  1. Android avec WebService
    Par mrtoto dans le forum Android
    Réponses: 1
    Dernier message: 04/08/2012, 12h32
  2. Android et WebService
    Par MGH90 dans le forum Android
    Réponses: 2
    Dernier message: 13/03/2012, 08h49
  3. interopérabilité wp7, iphone, android le webservices ?
    Par slacky dans le forum Langages de programmation
    Réponses: 0
    Dernier message: 27/02/2012, 10h42
  4. Communication Android et WebService
    Par vicky777plus dans le forum Android
    Réponses: 1
    Dernier message: 01/06/2011, 08h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo