Soap.InvokeRegistry.TRemotableTypeRegistry.RegisterXSInfo

From RAD Studio API Documentation
Jump to: navigation, search

Delphi

procedure RegisterXSInfo(Info: PTypeInfo; const URI: InvString = ''; const Name: InvString = ''; const ExtName: InvString = '');

C++

void __fastcall RegisterXSInfo(System::Typinfo::PTypeInfo Info, const System::UnicodeString URI = System::UnicodeString(), const System::UnicodeString Name = System::UnicodeString(), const System::UnicodeString ExtName = System::UnicodeString());

Properties

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

Description

Registers a remotable type.

Call RegisterXSInfo to register a type that requires special marshaling but does not need to be represented by a TRemotable descendant before it can be marshaled for transport to or from a Web Services provider. Such types include dynamic arrays such as the dynamic array types defined in the Types unit (Delphi) or sysdyn.h (C++), enumerated types, and boolean types (Delphi) or types defined using a typedef statement (C++).

Info is the TypeInfo pointer for the type. It can be obtained using the global TypeInfo function (Delphi) or the __delphirtti keyword (C++). In C++, it is sometimes obtained from a global function such as GetClsMemberTypeInfo, which extracts the type information from a holder class.

URI is the namespace URI to associate with that type. This should uniquely identify the type. If you omit this parameter or supply an empty string, RegisterXSInfo generates a namespace URI for you, based on the name of the type, the name of the unit in which it is declared, and the value of the global AppNameSpacePrefix variable. Note that the namespace URI must be the same in both client and server applications. In Delphi, if you do not explicitly supply a namespace URI, the class must be declared in a unit with the same name, and the value of AppNameSpacePrefix must be the same in both applications. In C++, the client application must always explicitly supply a namespace.

Name is the name of the type as it appears in native code.

ExtName is the name of the type as it appears in encoded method calls and WSDL documents.

See Also