Précédent   Forum du club des développeurs et IT Pro > Environnements de développement > WinDev > Windev Mobile
Windev Mobile Forum d'entraide sur la programmation Windev Mobile (Pocket PC, SmartPhone,...)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 22/10/2012, 00h12   #1
skyweb
Invité de passage
 
Inscription : 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.
skyweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/10/2012, 14h00   #2
skyweb
Invité de passage
 
Inscription : juillet 2009
Messages : 49
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 49
Points : 4
Points : 4
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.
skyweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2012, 07h27   #3
courdi95
Membre expérimenté
 
Homme Jean-Jacques MONOT
Responsable des études
Inscription : février 2010
Messages : 264
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 : 264
Points : 554
Points : 554
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
courdi95 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2012, 10h49   #4
skyweb
Invité de passage
 
Inscription : juillet 2009
Messages : 49
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 49
Points : 4
Points : 4
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
skyweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2012, 11h09   #5
courdi95
Membre expérimenté
 
Homme Jean-Jacques MONOT
Responsable des études
Inscription : février 2010
Messages : 264
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 : 264
Points : 554
Points : 554
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 .
courdi95 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2012, 11h35   #6
courdi95
Membre expérimenté
 
Homme Jean-Jacques MONOT
Responsable des études
Inscription : février 2010
Messages : 264
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 : 264
Points : 554
Points : 554
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é.
courdi95 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2012, 12h44   #7
skyweb
Invité de passage
 
Inscription : juillet 2009
Messages : 49
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 49
Points : 4
Points : 4
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?
skyweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2012, 19h38   #8
skyweb
Invité de passage
 
Inscription : juillet 2009
Messages : 49
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 49
Points : 4
Points : 4
Le support PCSoft ma répondu :

Citation:
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..
skyweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 12h21.


 
 
 
 
Partenaires

Hébergement Web