Soap.InvokeRegistry.TInvokableClassRegistry.RegisterHeaderClass

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

procedure RegisterHeaderClass(Info: PTypeInfo; AClass: TClass;
const HeaderName: InvString; const HeaderNamespace: InvString;
DefaultMethodType: eHeaderMethodType = hmtAll;
Required: Boolean = False); overload;
procedure RegisterHeaderClass(Info: PTypeInfo; AClass: TClass;
DefaultMethodType: eHeaderMethodType = hmtAll;
Required: Boolean = False); overload;

C++

void __fastcall RegisterHeaderClass(System::Typinfo::PTypeInfo Info, System::TClass AClass, const System::UnicodeString HeaderName, const System::UnicodeString HeaderNamespace, eHeaderMethodType DefaultMethodType = (eHeaderMethodType)(0x0), bool Required = false)/* overload */;
void __fastcall RegisterHeaderClass(System::Typinfo::PTypeInfo Info, System::TClass AClass, eHeaderMethodType DefaultMethodType = (eHeaderMethodType)(0x0), bool Required = false)/* overload */;

Eigenschaften

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

Beschreibung

Registriert die Klasse der Header für Interface-Aufrufe.

Mit RegisterHeaderClass können Sie eine von TSOAPHeader abgeleitete Klasse registrieren. Das Registrieren hat zwei Gründe:

Auf dem Server werden die Definitionen registrierter TSOAPHeader-Nachkommen in WSDL-Dokumente exportiert, damit die Header in Anwendungen erkannt und bearbeitet werden können.

Auf Servern und Clients wird durch die Registrierung die Header-Klasse einem Header-Namen und dem Namespace zugeordnet, in dem dieser Name definiert ist.

Info zeigt auf die Typinformationen des aufrufbaren Interface, für das der Header verwendet wird. Wenn der Header für mehrere Interfaces verwendet werden soll, müssen Sie die Methode für jeden Interface-Typ aufrufen.

AClass gibt die von TSOAPHeader abgeleitete Klasse des Headers an.

HeaderName ist der im Namespace definierte Header-Name. Wenn Sie HeaderName nicht angeben, wird der Typname verwendet, mit dem die Header-Klasse in die Registrierung für Remotable-Typen eingetragen wurde.

HeaderNamespace ist der URI des Namespace, in dem HeaderName definiert ist. Wenn Sie HeaderNamespace nicht angeben, wird der Namespace des zugeordneten Interface verwendet.

DefaultMethodType gibt an, ob der Header für Anforderungen, Antworten oder beide Nachrichtenarten verwendet wird. Dieser Standardwert wird für das gesamte Interface verwendet. Sie können ihn für einzelne Interface-Methoden ändern, indem Sie die Methode RegisterHeaderMethod aufrufen.

Required gibt an, ob der Header in Nachrichten über das Interface eingefügt werden muss. Wenn Required true ist, muss der Header hinzugefügt und vom Empfänger der Nachricht erkannt werden. Ist Required false, muss der Header nicht hinzugefügt werden. Wenn der Header für einige, aber nicht alle Nachrichten benötigt wird, müssen Sie Required auf false setzen und anschließend die Anforderung zu einzelnen Methoden mit RegisterHeaderMethod hinzufügen.

Anmerkung:  Nach dem Aufruf von RegisterHeaderClass ist die Header-Klasse für alle Methoden des angegebenen Interface registriert. Wenn der Header nur von einer Teilmenge der Interface-Methoden verwendet wird, der Header einen anderen Methodentyp für bestimmte Interface-Methoden erhalten soll oder der Header nur für eine Teilmenge der Interface-Methoden erforderlich ist, rufen Sie RegisterHeaderMethod für jede dieser Methoden auf.

Siehe auch