Appel d'un WebServices DotNet et Chaine accentuées
2 réponses
Robert-Olivier Cayot
Bonjour,
Je n'arrive pas à passer les lettres accentuées (é,à,...) a mon
WebService écrit en .Net
La variable de type string récupérée dans la fonction .NET contient des
"?" à la place des lettres accentuées.
J'ai essayé différent type d'encodages (ISO-Latin1, UTF-8 et 16) pour
XMLConstruitChaîne, mais rien n'y fait
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
PERCAPITA
Ton problème viens du fait que Windev travaille en ANSI et .NET en UTF8.
Pour résoudre le problème 2 voies : -il te faut agir sur ton webservice et traiter tes paramètres d'entrées (je n'ai plus la syntaxe en tête). Bien sur si ton webservice est appelé par d'autres applications qui ne sont pas en Windev t'as un problème (c'est-elle qui ne vont plus fonctionner) !
-Tu n'utilise pas windev pour consommer ton web service(c'est m'a solution). Tu te fait un composant COM qui encapsule l'appel au web service dans un langage qui gère UTF8 puis tu utilise ce composant dans Windev avec un objet Automation (attention pas de complétion de code). J'ai déjà utilisé SOAP tool kit (pas très facile) et dot net (plus facile)
"Robert-Olivier Cayot" a écrit dans le message de news: 4328087a$0$7854$
Bonjour,
Je n'arrive pas à passer les lettres accentuées (é,à,...) a mon WebService écrit en .Net La variable de type string récupérée dans la fonction .NET contient des "?" à la place des lettres accentuées. J'ai essayé différent type d'encodages (ISO-Latin1, UTF-8 et 16) pour XMLConstruitChaîne, mais rien n'y fait
L'un(e) d'entre vous pourrais-til m'aider ?
Bob.
Ton problème viens du fait que Windev travaille en ANSI et .NET en UTF8.
Pour résoudre le problème 2 voies :
-il te faut agir sur ton webservice et traiter tes paramètres d'entrées (je
n'ai plus la syntaxe en tête). Bien sur si ton webservice est appelé par
d'autres applications qui ne sont pas en Windev t'as un problème (c'est-elle
qui ne vont plus fonctionner) !
-Tu n'utilise pas windev pour consommer ton web service(c'est m'a solution).
Tu te fait un composant COM qui encapsule l'appel au web service dans un
langage qui gère UTF8 puis tu utilise ce composant dans Windev avec un objet
Automation (attention pas de complétion de code). J'ai déjà utilisé SOAP
tool kit (pas très facile) et dot net (plus facile)
"Robert-Olivier Cayot" <bob@eureka64.com> a écrit dans le message de news:
4328087a$0$7854$8fcfb975@news.wanadoo.fr...
Bonjour,
Je n'arrive pas à passer les lettres accentuées (é,à,...) a mon WebService
écrit en .Net
La variable de type string récupérée dans la fonction .NET contient des
"?" à la place des lettres accentuées.
J'ai essayé différent type d'encodages (ISO-Latin1, UTF-8 et 16) pour
XMLConstruitChaîne, mais rien n'y fait
Ton problème viens du fait que Windev travaille en ANSI et .NET en UTF8.
Pour résoudre le problème 2 voies : -il te faut agir sur ton webservice et traiter tes paramètres d'entrées (je n'ai plus la syntaxe en tête). Bien sur si ton webservice est appelé par d'autres applications qui ne sont pas en Windev t'as un problème (c'est-elle qui ne vont plus fonctionner) !
-Tu n'utilise pas windev pour consommer ton web service(c'est m'a solution). Tu te fait un composant COM qui encapsule l'appel au web service dans un langage qui gère UTF8 puis tu utilise ce composant dans Windev avec un objet Automation (attention pas de complétion de code). J'ai déjà utilisé SOAP tool kit (pas très facile) et dot net (plus facile)
"Robert-Olivier Cayot" a écrit dans le message de news: 4328087a$0$7854$
Bonjour,
Je n'arrive pas à passer les lettres accentuées (é,à,...) a mon WebService écrit en .Net La variable de type string récupérée dans la fonction .NET contient des "?" à la place des lettres accentuées. J'ai essayé différent type d'encodages (ISO-Latin1, UTF-8 et 16) pour XMLConstruitChaîne, mais rien n'y fait
L'un(e) d'entre vous pourrais-til m'aider ?
Bob.
Robert-Olivier Cayot
PERCAPITA a écrit :
Ton problème viens du fait que Windev travaille en ANSI et .NET en UTF8.
Ok, donc malgré que je précise un encodage UTF8 dans XMLConstruitChaine j'obtient malgré tout une chaine ANSI. Argl.
Pour résoudre le problème 2 voies : -il te faut agir sur ton webservice et traiter tes paramètres d'entrées (je n'ai plus la syntaxe en tête). Bien sur si ton webservice est appelé par d'autres applications qui ne sont pas en Windev t'as un problème (c'est-elle qui ne vont plus fonctionner) !
-Tu n'utilise pas windev pour consommer ton web service(c'est m'a solution). Tu te fait un composant COM qui encapsule l'appel au web service dans un langage qui gère UTF8 puis tu utilise ce composant dans Windev avec un objet Automation (attention pas de complétion de code). J'ai déjà utilisé SOAP tool kit (pas très facile) et dot net (plus facile)
Merci pour la réponse, à l'heure actuelle le Web Service doit être consommée uniquement par WinDev, donc je vais commencer par la première solution.
WinDev 9 gère les chaines UTF8, donc je devrais peut être pouvoir m'en sortir en construisant moi même l'XML du soap (sans XMLConstruitChaine) et/ou en construisant moi même l'appel HTPP (sans DotNetExecuteXML). Un avis sur la question ?
Cordialement,
Robert-Olivier Cayot
PERCAPITA a écrit :
Ton problème viens du fait que Windev travaille en ANSI et .NET en UTF8.
Ok, donc malgré que je précise un encodage UTF8 dans XMLConstruitChaine
j'obtient malgré tout une chaine ANSI. Argl.
Pour résoudre le problème 2 voies :
-il te faut agir sur ton webservice et traiter tes paramètres d'entrées (je
n'ai plus la syntaxe en tête). Bien sur si ton webservice est appelé par
d'autres applications qui ne sont pas en Windev t'as un problème (c'est-elle
qui ne vont plus fonctionner) !
-Tu n'utilise pas windev pour consommer ton web service(c'est m'a solution).
Tu te fait un composant COM qui encapsule l'appel au web service dans un
langage qui gère UTF8 puis tu utilise ce composant dans Windev avec un objet
Automation (attention pas de complétion de code). J'ai déjà utilisé SOAP
tool kit (pas très facile) et dot net (plus facile)
Merci pour la réponse, à l'heure actuelle le Web Service doit être
consommée uniquement par WinDev, donc je vais commencer par la première
solution.
WinDev 9 gère les chaines UTF8, donc je devrais peut être pouvoir m'en
sortir en construisant moi même l'XML du soap (sans XMLConstruitChaine)
et/ou en construisant moi même l'appel HTPP (sans DotNetExecuteXML). Un
avis sur la question ?
Ton problème viens du fait que Windev travaille en ANSI et .NET en UTF8.
Ok, donc malgré que je précise un encodage UTF8 dans XMLConstruitChaine j'obtient malgré tout une chaine ANSI. Argl.
Pour résoudre le problème 2 voies : -il te faut agir sur ton webservice et traiter tes paramètres d'entrées (je n'ai plus la syntaxe en tête). Bien sur si ton webservice est appelé par d'autres applications qui ne sont pas en Windev t'as un problème (c'est-elle qui ne vont plus fonctionner) !
-Tu n'utilise pas windev pour consommer ton web service(c'est m'a solution). Tu te fait un composant COM qui encapsule l'appel au web service dans un langage qui gère UTF8 puis tu utilise ce composant dans Windev avec un objet Automation (attention pas de complétion de code). J'ai déjà utilisé SOAP tool kit (pas très facile) et dot net (plus facile)
Merci pour la réponse, à l'heure actuelle le Web Service doit être consommée uniquement par WinDev, donc je vais commencer par la première solution.
WinDev 9 gère les chaines UTF8, donc je devrais peut être pouvoir m'en sortir en construisant moi même l'XML du soap (sans XMLConstruitChaine) et/ou en construisant moi même l'appel HTPP (sans DotNetExecuteXML). Un avis sur la question ?