Soap.InvokeRegistry.TRemotableTypeRegistry.RegisterXSClass

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

procedure RegisterXSClass(AClass: TClass; const URI: InvString = ''; const Name: InvString = '';  const ExtName: InvString = ''; IsScalar: Boolean = False; MultiRefOpt: TObjMultiOptions = ocDefault);

C++

void __fastcall RegisterXSClass(System::TClass AClass, const System::UnicodeString URI = System::UnicodeString(), const System::UnicodeString Name = System::UnicodeString(), const System::UnicodeString ExtName = System::UnicodeString(), bool IsScalar = false, TObjMultiOptions MultiRefOpt = (TObjMultiOptions)(0x0));

Propriétés

Type Visibilité  Source Unité  Parent
procedure
function
public
Soap.InvokeRegistry.pas
Soap.InvokeRegistry.hpp
Soap.InvokeRegistry TRemotableTypeRegistry

Description

Recense une classe distante.

Appelez RegisterXSClass pour recenser une classe distante afin qu'elle puisse être communiquée entre des applications client et un fournisseur de service Web. Toutes les classes distantes sont compilées avec des informations de type accessibles à l'exécution (RTTI) et disposent d'un constructeur virtuel que le registre des types distants reconnaît et utilise pour fournir des instances de classe.

Lorsque la classe distante est un descendant de TRemotable, il peut être utilisé pour représenter des types non scalaires pour les paramètres et les valeurs renvoyées sur une interface invocable. Lorsqu'il s'agit d'un descendant d'ERemotableException, il permet à l'application de service Web d'envoyer aux clients un paquet d'erreur incluant toutes les propriétés publiées de la classe d'exception.

AClass est la référence de la classe distante. Dans Delphi, vous devez la spécifier dans le code en utilisant le nom de la classe. Dans C++, vous pouvez obtenir cette référence de classe en utilisant le mot clé __classid.

URI est l'URI d'espace de nommage à associer à cette classe. Il devrait identifier la classe de manière unique. Si vous omettez ce paramètre (ou si vous fournissez une chaîne vide), RegisterXSClass génère un URI d'espace de nommage basé sur le nom de la classe, le nom de l'unité dans laquelle il est déclarée et la valeur de la variable globale AppNameSpacePrefix. Notez que l'URI d'espace de nommage doit être le même dans les applications client et serveur. Par conséquent, si vous ne fournissez pas explicitement un URI d'espace de nommage, la classe doit être déclarée dans une unité portant le même nom et la valeur d'AppNameSpacePrefix doit être la même dans les deux applications.

Name est le nom d'un type représenté par la classe. Ce paramètre est utilisé pour le mappage entre la classe et sa définition dans un document WSDL.

ExtName est identique à Name.

IsScalar indique si la classe représente un type scalaire. Les classes distantes qui représentent des types scalaires doivent implémenter les méthodes XSToNative et NativeToXS.

MultiRefOpt indique comment plusieurs références à la même instance de la classe devraient être gérées lors de leur conversion en leur représentation SOAP. Pour plus d'informations, voir la méthode ClassOptions.

Voir aussi