|
[WM17] Webservices utilisation Sérealise et Désérealise |
Iniciado por Omar El Moussaid, out., 29 2012 7:07 PM - 4 respostas |
| |
| | | |
|
| |
Publicado em outubro, 29 2012 - 7:07 PM |
Bonjour, Export_visite est une procédure webdev héberger sur mon Pc back office et qui interagi avec un serveur SQLServer, cette procédure sera appelé a partir de la tablette. J'ai essayé d'utiliser la sérialisation et désérialisation voila le code:
Coté Tablette:
tableVisite est tableau de objet CVisite vis est un objet CVisite bufxml est Buffer comp est objet CCompagne ope est objet COperateurs ver est objet CVerger
POUR TOUT Req_Get_Visite_Non_Valide
HLitRecherche(Compagne,CodeCompagne,Req_Get_Visite_Non_Valide.CodeCompagne) comp=Compagne vis.refCodeCompagne=comp
HLitRecherche(Operateurs,CodeOperateur,Req_Get_Visite_Non_Valide.CodeOperateur) ope=Operateurs vis.refCodeOperateur=ope
HLitRecherche(Verger,CodeVerger,Req_Get_Visite_Non_Valide.CodeVerger) ver=Verger vis.refCodeVerger=ver
vis.CodeVisite=Req_Get_Visite_Non_Valide.CodeVisite vis.Date_Visite=Req_Get_Visite_Non_Valide.Date_Visite vis.Fonction=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 POUR TOUT vis DE tableVisite Info(vis.CodeVisite) FIN b est chaîne Sérialise(tableVisite,bufxml,psdXML) b=Import_Export2.Export_Visites(bufxml) Info(b) Info("done")
Coté Pc back office :
Procedure Export_Visites(bufferxml est Buffer) nIdFich est entier=fOuvre("C:\Documents and Settings\omar\Bureau\yyy\log.txt",foLectureEcriture) tableVisite est tableau de objet CVisite refCodeVisite est un objet CVisite Désérialise(tableVisite,bufferxml,psdXML) fEcrit(nIdFich,bufferxml+"/////////////////"+tableVisite..Occurrence) fFerme(nIdFich) POUR TOUT refCodeVisite DE tableVisite Visite.CodeCompagne=refCodeVisite.refCodeCompagne.CodeCompagne Visite.CodeOperateur=refCodeVisite.refCodeOperateur.CodeOperateur Visite.CodeVerger=refCodeVisite.refCodeVerger.CodeVerger Visite.CodeVisite=refCodeVisite.CodeVisite Visite.Date_Visite=refCodeVisite.Date_Visite..PartieDate Visite.Fonction=refCodeVisite.Fonction Visite.Objectife=refCodeVisite.Objectife Visite.Presence_De=refCodeVisite.Presence_De Visite.Visite_Valide=refCodeVisite.Visite_Valide HAjoute(Visite) FIN
RENVOYER tableVisite..Occurrence
Ce que je trouve dans le fichier fichier txt (contenu de buffer):
<?xml version="1.0"?> <DOCUMENT xmlns:SOAP_ENC="http://schemas.xmlsoap.org/soap/encoding/"> <tableVisite SOAP_ENC:arrayType="tableVisite[1]"> <item> <ns1:CVisite xmlns:ns1="urn:Import_Export2"><ns1:refCodeCompagne xmlns:ns1="urn:Import_Export2"><CodeCompagne>2</CodeCompagne><Libelle>Compagne11/12</Libelle><Active>1</Active><Debut>2011-01-01T00:00:00.000</Debut><Fin_Compagne>2012-01-01T00:00:00.000</Fin_Compagne></ns1:refCodeCompagne><ns1:refCodeOperateur xmlns:ns1="urn:Import_Export2"><CodeOperateur>1</CodeOperateur><Nom>omar el moussaid</Nom><Pass>123</Pass><Tel>0661659530</Tel><Adresse>N°18 rue 454 les fonctionnaires les amicales agadir</Adresse><Email> omar.el.moussaid@gmail.com</Email><Actif>1</Actif></ns1:refCodeOperateur><ns1:refCodeVerger xmlns:ns1="urn:Import_Export2"><CodeVerger>221</CodeVerger><Ref>Y</Ref><Nom>Nahda</Nom><Superficie>53</Superficie><Certifier>1</Certifier><Actif>1</Actif></ns1:refCodeVerger><CodeVisite>12102011</CodeVisite><Date_Visite>2012-10-20T00:00:00.000</Date_Visite><Fonction>ttttttt</FONCTION><Objectife>1</Objectife><Presence_De>tttt</Presence_De><Visite_Valide>True</Visite_Valide></ns1:CVisite> </Item> </tableVisite> </DOCUMENT> tableVisite..Occurrence donne 1 ,Mais je n'arrive pas à parcourir le tableau, l'erreur viens de Désérialise? Merci |
| |
| |
| | | |
|
| | |
| |
Publicado em outubro, 30 2012 - 11:16 AM |
j'ai oublié de spécifier que je travail sur Android 4.0.3 |
| |
| |
| | | |
|
| | |
| |
Membro registado 11 mensagems |
|
Publicado em novembro, 04 2012 - 3:37 AM |
Bonsoir Omar J'ai eu la meme erreur avec mon webservce, j'obtiens l'erreur suivante : Appel WL : Traitement de 'Clic sur Bouton1' (Fenêtre1.Bouton1), ligne 18, thread 0 Fonction 'Désérialise', syntaxe 0
Que s'est-il passé ? Format de sérialisation incorrect.
Code erreur : 2601 Niveau : erreur fatale (EL_FATAL)
Dump de l'erreur du module 'wd170vm.dll' (17.0.199.3). Identifiant des informations détaillées (.err) : 2601 Informations de débogage : Erreur interne Fonction (0,124) Informations supplémentaires : EIT_PILEWL : Clic sur Bouton1 (Fenêtre1.Bouton1), ligne 18 Je vous prie de m'informer au cas ou vous avez trouver une solution Bonne soirée |
| |
| |
| | | |
|
| | |
| |
Publicado em novembro, 06 2012 - 3:22 PM |
Je sais pas si ca peut vous aider mais j'avais le meme genre d'erreur et cela ne venait pas de serialise ou deserialise mais simplement du faite qu'il fait envoyer une structure avec des tableau de structure et non envoyer un tableau de structure au webservice. Par ailleur pour ma part je rencontre un probleme de recuperation de geoposition dans un thread avec android. avez vous un conseil a ce sujet? j'ai posté un post sur le forum mais sans reponse. |
| |
| |
| | | |
|
| | |
| |
Publicado em novembro, 07 2012 - 2:28 PM |
Bonjour zinehom j'ai basculer vers les tableau de chaine multi-dimension exemple:
coté Tablette:
Req_Get_Visite_Non_Valide.ParamOpérateur=codeop HExécuteRequête(Req_Get_Visite_Non_Valide) SI HNbEnr(Req_Get_Visite_Non_Valide)<>0 ALORS bufxml est un Buffer tableVisite est un tableau dynamique de [HNbEnr(Req_Get_Visite_Non_Valide),8] chaîne ANSI j est un entier=1 POUR TOUT Req_Get_Visite_Non_Valide tableVisite[j,1]=Req_Get_Visite_Non_Valide.CodeCompagne tableVisite[j,2]=Req_Get_Visite_Non_Valide.CodeOperateur tableVisite[j,3]=Req_Get_Visite_Non_Valide.CodeVerger tableVisite[j,4]=Req_Get_Visite_Non_Valide.CodeVisite tableVisite[j,5]=Req_Get_Visite_Non_Valide.Date_Visite..PartieDate tableVisite[j,6]=Req_Get_Visite_Non_Valide.Fonction tableVisite[j,7]=Req_Get_Visite_Non_Valide.Objectife tableVisite[j,8]=Req_Get_Visite_Non_Valide.Presence_De j++ FIN Sérialise(tableVisite, bufxml,psdXML) Import_Export.Export_Visite(bufxml)
coté serveur (webservice):
Procedure Export_Visite( bb est Buffer) resultat est un tableau dynamique de 0 par 0 chaînes Settings\omar\Bureau\yyy\log.txt",foLectureEcriture) Désérialise( resultat, bb, psdXML) i est un entier =1 TANTQUE i <= TableauInfo(resultat,tiNombreLignes) Visite.CodeCompagne=resultat[i,1] Visite.CodeOperateur=resultat[i,2] Visite.CodeVerger=resultat[i,3] Visite.CodeVisite=resultat[i,4] Visite.Date_Visite=resultat[i,5] Visite.Fonction=resultat[i,6] Visite.Objectife=resultat[i,7] Visite.Presence_De=resultat[i,8] HAjoute(Visite) i++ FIN |
| |
| |
| | | |
|
| | | | |
| | |
|