PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV Mobile 2024 → Problème avec SOAPDonneRésultat(SOAPRésultatXML) sur le pocketPC
Problème avec SOAPDonneRésultat(SOAPRésultatXML) sur le pocketPC
Started by Boesel Julien, Feb., 16 2007 4:27 PM - 4 replies
Posted on February, 16 2007 - 4:27 PM
Bonjour,

je rencontre des difficultés pour récupérer des données issues de mes services Web SOAP.
J'utilise donc un service web PHP, une base de données MySQL et un client en WindevMobile.

En faisant le test en debug à partir de WindevMobile sur mon PC, pas de problème, la chaîne retournée avec la fonction SOAPDonneRésultat(SOAPRésultatXML) me donne bien le résultat attendu.
Par contre, quand je lance le test en debug sur le PocketPC (avec la version 11) ou en réel en me coupant du PC, j'obtient avec le même code un résultat plein de petit carrés pas très jolis jolis ...

J'ai donc essayé d'utiliser les conversions d'encodage vus sur ce forum :
sres = UnicodeVersAnsi(SOAPDonneRésultat(SOAPRésultatXML))
sReponse = AnsiVersUnicode(sres, alphabetUTF8)

Mais, les carrés sont juste remplacés par des '?????'

J'imagine qu'il doit s'agir d'un problème d'encodage mais j'ai du mal à trouver des infos à ce sujet.

Quelqu'un a t-il déjà eu le même problème ?

Merci d'avance.
Julien Boesel
Posted on February, 16 2007 - 4:54 PM
Mon web service est en windev et je n'ai pas de souci. Je crypte le xml en ansi.

code serveur:
sChaineansi = Crypte(InfoXML,"monmotdepasse",crypteRapide+crypteAnsi,Vrai)
XMLTermine(DocXML) // Libère le document XML

RENVOYER sChaineansi


code mobile:
chaineretour = SOAPDonneRésultat(SOAPRésultat)
sChaineansi = Décrypte(chaineretour,"monmotdepasse",crypteRapide+crypteAnsi,Vrai)
Posted on February, 16 2007 - 11:55 PM
Bonsoir,

je rencontre des difficultés pour récupérer des données issues de mes
services Web SOAP.
J'utilise donc un service web PHP, une base de données MySQL et un client
en WindevMobile.

En faisant le test en debug à partir de WindevMobile sur mon PC, pas de
problème, la chaîne retournée avec la fonction
SOAPDonneRésultat(SOAPRésultatXML) me donne bien le résultat attendu.
Par contre, quand je lance le test en debug sur le PocketPC (avec la
version 11) ou en réel en me coupant du PC, j'obtient avec le même code un
résultat plein de petit carrés pas très jolis jolis ...

J'ai donc essayé d'utiliser les conversions d'encodage vus sur ce forum :
sres = UnicodeVersAnsi(SOAPDonneRésultat(SOAPRésultatXML))
sReponse = AnsiVersUnicode(sres, alphabetUTF8)


Je ferai l'inverse. L'affichage de caracères illisibles me fait penser que
la chaine renvoyée par SOAPDonneRésultat est ANSI ou UTF8. Il ne faut pas
faire la premier transformation. Avez-vous essayé :
sResponse est une chaine =
AnsiVersUnicode(SOAPDonneRésultat(SOAPRésultatXML))
et
sResponse est une chaine =
AnsiVersUnicode(SOAPDonneRésultat(SOAPRésultatXML), alphabetUTF8)


Mais, les carrés sont juste remplacés par des '?????'

J'imagine qu'il doit s'agir d'un problème d'encodage mais j'ai du mal à
trouver des infos à ce sujet.

Quelqu'un a t-il déjà eu le même problème ?


Cordialement,
Guillaume M.
Posted on February, 17 2007 - 9:39 AM
Ca y est,

L'encodage de ma chaine à la sortie de mon service web est UTF-8.
J'utilise en effet NuSoap qui doit utiliser ce format par défaut.

Guillaume, comme tu le proposes, j'ai essayé ces 2 types de conversion mais pas de changement.

Par contre avec UTF8versChaine, ca marche ...

Cool !!

En tout cas merci de vos réponses et à une prochaine !
Posted on February, 12 2008 - 8:23 AM
Merci, pour moi cela a aussi marché. pour windev 12.