|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
Pb web service .net en UTF-8 |
Débuté par Frédéric LAMBOUR, 11 oct. 2006 16:35 - 11 réponses |
| |
| | | |
|
| |
Posté le 11 octobre 2006 - 16:35 |
| |
| |
| | | |
|
| | |
| |
Posté le 12 octobre 2006 - 17:01 |
| |
| |
| | | |
|
| | |
| |
Posté le 12 octobre 2006 - 18:18 |
Ca ne fonction pas "Adrien" <adrien.titou@free.fr> a écrit dans le message de news: 452e09b2$1@news.pcsoft.fr...
|
| |
| |
| | | |
|
| | |
| |
Posté le 12 octobre 2006 - 18:31 |
| |
| |
| | | |
|
| | |
| |
Posté le 12 octobre 2006 - 18:45 |
Alléluia !
Il faut décoder le résultat avec URLDecode() pour que ca fonctionne !!!!
Merci merci merci !
a
"Adrien" <adrien.titou@free.fr> a écrit dans le message de news: 452e5116$1@news.pcsoft.fr...
|
| |
| |
| | | |
|
| | |
| |
Posté le 12 octobre 2006 - 19:49 |
Bonjour,
"Frédéric LAMBOUR" <PasDeSpam_f.LAMBOUR@everlog.com> writes:
Comment ton service Web connait l'encoding de la chaine que tu lui envoies? Tu peux lui envoyer une chaine en UTF8, mais si tu ne lui indiques pas il ne va pas en faire grand chose.
As tu la possibilté sur ton service Web de voir le message envoyé par Windev? Il faudrait que tu puisses récupérer le Header et Body qui arrivent sur le service.
-- suivre ce lien pour répondre: http://cerbermail.com/… Daniel
|
| |
| |
| | | |
|
| | |
| |
Posté le 13 octobre 2006 - 12:14 |
Hi,
Regarde la réponse d'Adrien. Il a trouvé la solution.
a+ "Daniel" <voir-la-signature@wanadoo.fr> a écrit dans le message de news: m2u029wpb1.fsf@doudou.coul.fr...
Bonjour, "Frédéric LAMBOUR" <PasDeSpam_f.LAMBOUR@everlog.com> writes: Comment ton service Web connait l'encoding de la chaine que tu lui envoies? Tu peux lui envoyer une chaine en UTF8, mais si tu ne lui indiques pas il ne va pas en faire grand chose. As tu la possibilté sur ton service Web de voir le message envoyé par Windev? Il faudrait que tu puisses récupérer le Header et Body qui arrivent sur le service. -- suivre ce lien pour répondre: http://cerbermail.com/…Daniel |
| |
| |
| | | |
|
| | |
| |
Posté le 17 octobre 2006 - 12:42 |
Bonjour,
Fausse joie ! Ca ne fonctionne pas du tout dans la réalité. Le service WEB reçoit une chaine de caractère encodé qu'il ne peut utiliser nativement ! Je fais un nouveau post avec un nouveau service web mettant en évidence l'anomalie (je deviens fou avec ce pb)
a+
"Adrien" <adrien.titou@free.fr> a écrit dans le message de news: 452e5116$1@news.pcsoft.fr...
|
| |
| |
| | | |
|
| | |
| |
Posté le 17 octobre 2006 - 12:43 |
Fausse joie ! Ca ne fonctionne pas du tout dans la réalité. Le service WEB reçoit une chaine de caractère encodé qu'il ne peut utiliser nativement ! Je fais un nouveau post avec un nouveau service web mettant en évidence l'anomalie (je deviens fou avec ce pb)
"Daniel" <voir-la-signature@wanadoo.fr> a écrit dans le message de news: m2u029wpb1.fsf@doudou.coul.fr...
Bonjour, "Frédéric LAMBOUR" <PasDeSpam_f.LAMBOUR@everlog.com> writes: Comment ton service Web connait l'encoding de la chaine que tu lui envoies? Tu peux lui envoyer une chaine en UTF8, mais si tu ne lui indiques pas il ne va pas en faire grand chose. As tu la possibilté sur ton service Web de voir le message envoyé par Windev? Il faudrait que tu puisses récupérer le Header et Body qui arrivent sur le service. -- suivre ce lien pour répondre: http://cerbermail.com/…Daniel |
| |
| |
| | | |
|
| | |
| |
Posté le 17 octobre 2006 - 15:40 |
Salut,
"Frédéric LAMBOUR" <PasDeSpam_f.LAMBOUR@everlog.com> writes:
Fausse joie ! Ca ne fonctionne pas du tout dans la réalité. Le service WEB reçoit une chaine de caractère encodé qu'il ne peut utiliser nativement ! Je fais un nouveau post avec un nouveau service web mettant en évidence l'anomalie (je deviens fou avec ce pb)
Tellement que tu postes en double.
C'est tout de même bizarre que l'histoire d'urlencode t'avais apporté une solution, et il faudrait comprendre pourquoi.
Je te repose la même question as tu les moyens de tracer sur ton serveur les messages reçus (header et body), car c'est le moyen le plus simple d'avoir une info?
"Daniel" <voir-la-signature@wanadoo.fr> a écrit dans le message de news: m2u029wpb1.fsf@doudou.coul.fr... Bonjour, "Frédéric LAMBOUR" <PasDeSpam_f.LAMBOUR@everlog.com> writes: Bonjour, Me revoilà avec mon problème d'encodage UTF-8. Pour illuster mon problème j'ai mis en ligne un WebService très simple ici : http://loire-auto.packreport.everlog.com/service.asmx description ici http://loire-auto.packreport.everlog.com/service.asmx… Il ne contient qu'une méthode TestEncoding() donc voici le code .NET public string TestEncoding(string sTexteE) { return sTexteE; } Je vous propose de vous attacher ce web service dans un projet de test puis de le consomer avec comme chaine de test "éàè". La réponse est "???". Notez qu'il n'y a pas de pb avec un WebService en iso-8859-1. Pour info voici mon code windev PROCEDURE TestEncoding(LOCAL sTexteE est une chaîne) DotNet.Nom[1] ="sTexteE" DotNet.Type[1] =DotNetTypeChaîne DotNet.Valeur[1]=sTexteE bRes est un booléen bRes=DotNetExécute(" http://loire-auto.packreport.everlog.com/Service.asmx", "TestEncoding", " http://Everlog.com/WebServices/", " http://Everlog.com/WebServices/TestEncoding") SI PAS bRes ALORS SI DotNetErreur(DotNetErrMessage)~="" ALORS Erreur(ErreurInfo()) SINON Erreur(DotNetErreur(DotNetErrMessage)) FIN FIN RENVOYER UTF8VersChaîne(DotNetDonneRésultat(DotNetRésultat)) Merci votre aide Comment ton service Web connait l'encoding de la chaine que tu lui envoies? Tu peux lui envoyer une chaine en UTF8, mais si tu ne lui indiques pas il ne va pas en faire grand chose. As tu la possibilté sur ton service Web de voir le message envoyé par Windev? Il faudrait que tu puisses récupérer le Header et Body qui arrivent sur le service. -- suivre ce lien pour répondre: http://cerbermail.com/…Daniel
-- suivre ce lien pour répondre: http://cerbermail.com/… Daniel
|
| |
| |
| | | |
|
| | |
| |
Posté le 17 octobre 2006 - 18:08 |
Hi,
URLEncode() était de la poudre aux yeux car le webservice recevait "Frédéric" encodé comme une URL puis le renvoyait tel quel. URLDecode() remettait le tout en place. Très mauvais test. Le nouveau service web en ligne est beaucoup plus clair. Je ne sais pas comment analyser les messages reçus (header et body) mais même en construisant la demande XML SOAP à la main ca ne fonctionne pas. Je crois réellement être tombé sur un bug WINDEV qui ne semble pas être capable de stocker dans une variable chaine un codage UTF-8. Télécharge mon projet de test tu verras c'est troublant.
Merci pour tes conseils. J'ai réaliser un test en utilisant le composant SOAP toolkit de microsoft et je n'ai eu aucun pb !
a+
"Daniel" <voir-la-signature@wanadoo.fr> a écrit dans le message de news: m2hcy3b2fm.fsf@doudou.coul.fr...
Salut, "Frédéric LAMBOUR" <PasDeSpam_f.LAMBOUR@everlog.com> writes: Fausse joie ! Ca ne fonctionne pas du tout dans la réalité. Le service WEB reçoit une chaine de caractère encodé qu'il ne peut utiliser nativement ! Je fais un nouveau post avec un nouveau service web mettant en évidence l'anomalie (je deviens fou avec ce pb)
Tellement que tu postes en double. C'est tout de même bizarre que l'histoire d'urlencode t'avais apporté une solution, et il faudrait comprendre pourquoi. Je te repose la même question as tu les moyens de tracer sur ton serveur les messages reçus (header et body), car c'est le moyen le plus simple d'avoir une info? "Daniel" <voir-la-signature@wanadoo.fr> a écrit dans le message de news: m2u029wpb1.fsf@doudou.coul.fr... Bonjour, "Frédéric LAMBOUR" <PasDeSpam_f.LAMBOUR@everlog.com> writes: Bonjour, Me revoilà avec mon problème d'encodage UTF-8. Pour illuster mon problème j'ai mis en ligne un WebService très simple ici : http://loire-auto.packreport.everlog.com/service.asmx description ici http://loire-auto.packreport.everlog.com/service.asmx… Il ne contient qu'une méthode TestEncoding() donc voici le code .NET public string TestEncoding(string sTexteE) { return sTexteE; } Je vous propose de vous attacher ce web service dans un projet de test puis de le consomer avec comme chaine de test "éàè". La réponse est "???". Notez qu'il n'y a pas de pb avec un WebService en iso-8859-1. Pour info voici mon code windev PROCEDURE TestEncoding(LOCAL sTexteE est une chaîne) DotNet.Nom[1] ="sTexteE" DotNet.Type[1] =DotNetTypeChaîne DotNet.Valeur[1]=sTexteE bRes est un booléen bRes=DotNetExécute(" http://loire-auto.packreport.everlog.com/Service.asmx", "TestEncoding", " http://Everlog.com/WebServices/", " http://Everlog.com/WebServices/TestEncoding") SI PAS bRes ALORS SI DotNetErreur(DotNetErrMessage)~="" ALORS Erreur(ErreurInfo()) SINON Erreur(DotNetErreur(DotNetErrMessage)) FIN FIN RENVOYER UTF8VersChaîne(DotNetDonneRésultat(DotNetRésultat)) Merci votre aide Comment ton service Web connait l'encoding de la chaine que tu lui envoies? Tu peux lui envoyer une chaine en UTF8, mais si tu ne lui indiques pas il ne va pas en faire grand chose. As tu la possibilté sur ton service Web de voir le message envoyé par Windev? Il faudrait que tu puisses récupérer le Header et Body qui arrivent sur le service. -- suivre ce lien pour répondre: http://cerbermail.com/…Daniel -- suivre ce lien pour répondre: http://cerbermail.com/…Daniel |
| |
| |
| | | |
|
| | |
| |
Posté le 18 octobre 2006 - 10:23 |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|