Soap.InvokeRegistry.TRemotableTypeRegistry.RegisterXSClass

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

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));

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
procedure
function
public
Soap.InvokeRegistry.pas
Soap.InvokeRegistry.hpp
Soap.InvokeRegistry TRemotableTypeRegistry

Beschreibung

Registriert eine Remotable-Klasse.

Mit RegisterXSClass können Sie eine Remotable-Klasse registrieren, damit sie zwischen Client-Anwendungen und einem Web-Service-Provider ausgetauscht werden kann. Alle Remotable-Klassen werden mit Laufzeit-Typinformationen (RTTI = Runtime Type Information) compiliert und haben einen virtuellen Konstruktor, den die Registrierung erkennt und dazu verwendet, Klasseninstanzen bereitzustellen.

Wenn die Remotable-Klasse ein Nachkomme von TRemotable ist, kann sie die nichtskalaren Typen und Parameter eines aufrufbaren Interface darstellen. Stammt sie von ERemotableException ab, kann die Web-Service-Anwendung mit ihrer Hilfe ein Fehlerpaket an die Clients senden, das alle als published deklarierten Eigenschaften der Exception-Klasse enthält.

AClass ist die Klassenreferenz der Remotable-Klasse. In Delphi geben Sie diese im Quelltext mit dem Klassennamen an. In C++ kann mit dem Schlüsselwort __classid diese Klassenreferenz für eine Klasse abgerufen werden.

URI ist der Namespace-URI, der der Klasse zugeordnet wird. Er sollte die Klasse eindeutig identifizieren. Wenn Sie diesen Parameter weglassen oder einen leeren String übergeben, generiert RegisterXSClass einen Namespace-URI, der sich aus dem Klassennamen, dem Namen der Unit, in der die Klasse deklariert ist, und dem Wert der globalen Variable AppNameSpacePrefix zusammensetzt. Beachten Sie, dass die Client- und die Server-Anwendung den gleichen Namespace-URI verwenden müssen. Wenn Sie also nicht explizit einen URI zur Verfügung stellen, müssen sowohl die Unit-Namen als auch die Werte von AppNameSpacePrefix in beiden Anwendungen übereinstimmen.

Name ist der Name eines Typs, den die Klasse repräsentiert. Er wird für die Zuordnung zwischen der Klasse und ihrer Definition in einem WSDL-Dokument verwendet.

ExtName ist mit Name identisch.

IsScalar gibt an, ob die Klasse einen skalaren Typ darstellt. Solche Klassen müssen die Methoden XSToNative und NativeToXS implementieren.

MultiRefOpt gibt an, wie mehrfache Referenzen auf die gleiche Klasseninstanz behandelt werden, wenn die Klasse in ihre SOAP-Darstellung konvertiert wird. Weitere Informationen finden Sie bei der Beschreibung der Methode ClassOptions.

Siehe auch