2009-03-01 7 views
0

Je travaille avec Delphi 2009 Mise à jour 2. Borland WSDLIMP Version 2.3 - $ Rev: 16699 $service Web Delphi Importateur et caractère NonAscii Problème

Pourquoi le Rapido identifiant montre que r_pido?
Où est passé le personnage?
Est-ce un bogue WSDLIMP ou un bogue MS XML?

merci pour les réponses

commande File.XSD

<?xml version="1.0" encoding="UTF-8"?> 
.... 
.... 
.... 
<xs:simpleType name="displayName"> 
<xs:restriction base="st"> 
<xs:enumeration value="rápido"/> //-----> attention !!! 
<xs:enumeration value="lento"/> 
.... 
.... 
.... 

rapides ->

wsdlimp -Oe- -Ow+ -P -= "c:\myWsdlFile.wsdl"=myService.pas 

myService.pas

..... 
..... 
unit myService.pas; 

interface 

uses InvokeRegistry, SOAPHTTPClient, Types, XSBuiltIns; 
...... 
..... 
displayName = (
r_pido, //---> attention!!! á Where did it go? 
lento); 

Répondre

0

Pas exactement sûr de ce que vous voulez dire, mais je soupçonne le á rápido. Essayez d'utiliser "a" comme dans rapido.

+0

Je ne peux pas modifier ce fichier.XSD –

+0

Qu'est-ce qui vous a amené à croire que cela pourrait être un problème avec MS XML? Est-ce ce que Delphi utilise pour traiter XML? Aussi, le langage Delphi lui-même comprend-il le mot "rápido"? Ce mot peut-il être utilisé comme identifiant dans Delphi? –

+0

Il ne devrait pas y avoir de problème avec Delphi 2009 (parce que c'est la première version entièrement unicode) mais évidemment le á est remplacé par un _. –

0

RAPIDO identifiant correct pour delphi 2009 (delphi 2009 unicode complet de soutien)

1

Je vois que vous posé cette question il y a quelques semaines in the Embarcadero forums.

Je suppose que l'utilitaire WSDLImp n'a pas été mis à jour pour le support Unicode de Delphi 2009. Au lieu de cela, il continue à générer les mêmes fichiers source Delphi que les versions antérieures auraient générées, garantissant ainsi que toute version Delphi puisse utiliser le fichier source résultant. Un indice que l'utilitaire n'a pas reçu de mises à jour significatives est qu'il se présente toujours comme un produit Borland au lieu de CodeGear ou Embarcadero. Ce n'est pas parce qu'il a été recompilé et qu'il a un numéro de version différent (2.2 versus 2.3) qu'il a eu la même refonte que le compilateur et l'EDI nécessaires pour générer des fichiers sources Unicode. Une chose à vérifier est que votre fichier est vraiment encodé en UTF-8. Le caractère littéral á est codé sur deux octets en UTF-8, de sorte qu'il n'apparaît pas nécessairement comme ce caractère dans un éditeur. Assurez-vous que le fichier a les octets C3 A1 où ce caractère devrait être. Si ce n'est pas le cas, vous pourriez simplement voir comment WSDLImp traite les octets invalides dans le fichier d'entrée.

0

Je soupçonne que l'utilitaire WSDLIMP n'a pas abeille mis à jour pour Delphi 2009 Unicode soutien

c: \ Program Files \ CodeGear studio \ rad \ 6.0 \ source de \ win32 \ soap \ wsdlimporter \ WSDLIMP .dpr à nouveau compilé avec delphi 2009.

Une chose à vérifier est que votre fichier est vraiment codé en UTF-8

Le fichier.xsd s'ouvre avec le bloc-notes. Enregistrer sous -> Encodage -> UTF8 -> Sauvegarder

+0

J'ai mis à jour ma réponse en réponse à cette "réponse". Si vous avez besoin d'affiner votre question, veuillez éditer votre * question *. Les réponses au bas de la page sont pour * réponses * à votre question. Vous ne donnez pas de réponses à votre question. –

Questions connexes