Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 8 sur 8
  1. #1
    Invité de passage
    Inscrit en
    juillet 2009
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 49
    Points : 4
    Points
    4

    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
    Invité de passage
    Inscrit en
    juillet 2009
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 49
    Points : 4
    Points
    4

    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 :
    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 expérimenté
    Homme Profil pro Jean-Jacques MONOT
    Responsable des études
    Inscrit en
    février 2010
    Messages
    342
    Détails du profil
    Informations personnelles :
    Nom : Homme Jean-Jacques MONOT
    Localisation : France

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

    Informations forums :
    Inscription : février 2010
    Messages : 342
    Points : 593
    Points
    593

    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
    Invité de passage
    Inscrit en
    juillet 2009
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 49
    Points : 4
    Points
    4

    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 :
    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 :
    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 expérimenté
    Homme Profil pro Jean-Jacques MONOT
    Responsable des études
    Inscrit en
    février 2010
    Messages
    342
    Détails du profil
    Informations personnelles :
    Nom : Homme Jean-Jacques MONOT
    Localisation : France

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

    Informations forums :
    Inscription : février 2010
    Messages : 342
    Points : 593
    Points
    593

    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 expérimenté
    Homme Profil pro Jean-Jacques MONOT
    Responsable des études
    Inscrit en
    février 2010
    Messages
    342
    Détails du profil
    Informations personnelles :
    Nom : Homme Jean-Jacques MONOT
    Localisation : France

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

    Informations forums :
    Inscription : février 2010
    Messages : 342
    Points : 593
    Points
    593

    Par défaut

    Je viens de voir dans la doc (http://doc.pcsoft.fr/fr-FR/?3086002&...e&q=webservice)

    Code :
    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
    Invité de passage
    Inscrit en
    juillet 2009
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 49
    Points : 4
    Points
    4

    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 :
    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 :
    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
    Invité de passage
    Inscrit en
    juillet 2009
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 49
    Points : 4
    Points
    4

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •