Soap.InvokeRegistry.TSOAPAttachment

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Soap.InvokeRegistry.TRemotableSystem.TObjectTSOAPAttachment

Delphi

TSOAPAttachment = class(TRemotable)

C++

class PASCALIMPLEMENTATION TSOAPAttachment : public TRemotable

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
class public
Soap.InvokeRegistry.pas
Soap.InvokeRegistry.hpp
Soap.InvokeRegistry Soap.InvokeRegistry

Beschreibung

TSOAPAttachment definiert eine Anlage, die an alle SOAP-Nachrichten angehängt wird, die Methodenaufrufen in einer Web-Service-Anwendung entsprechen.

Mit einer TSOAPAttachment-Komponente können Sie eine Anlage als Parameter oder Rückgabewert einer Methode in einer aufrufbaren Schnittstelle senden bzw. empfangen. Wenn ein SOAP-Methodenaufruf eine Anlage erfordert, wird per Marshaling ein mehrteiliges MIME-Formular generiert. Die Anlagen werden dann als zusätzliche Abschnitte hinzugefügt.

Warnung:  Manche Web-Services wie .Net verwenden für Anlagen mehrteilige DIME-Formulare und keine mehrteiligen MIME-Formulare. Bei diesen Diensten kann TSOAPAttachment nicht verwendet werden.

Anmerkung:  Verwenden Sie nur TSOAPAttachment und die abgeleiteten Klassen für die Parameter oder den Rückgabewert einer Methode in einer aufrufbaren Schnittstelle. Diese Klassen können nicht für komplexere Typen, wie beispielsweise die published-Eigenschaften eines externen Objekts, eingesetzt werden.

Geben Sie beim Senden einer Anlage mit der Eigenschaft SourceString bzw. der Methode SetSourceFile oder SetSourceStream die Anlagedaten an. Definieren Sie mit der Eigenschaft ContentType den Typ (die Codierung) der Anlagedaten.

Empfangene Anlagen werden automatisch in einer temporären Datei gespeichert, deren Name mit der Eigenschaft CacheFile festgelegt wird. Sie können den Inhalt dieser Datei mit der Methode SaveToFile oder SaveToStream kopieren. Mit der Eigenschaft ContentType können Sie das Format der Daten ermitteln. Sie können auch die anderen Header des Formularabschnitts lesen, in dem sich die Anlage befunden hat, indem Sie die Eigenschaft Headers verwenden. Die temporäre Datei mit den empfangenen Anlagedaten wird standardmäßig bei der Freigabe des TSOAPAttachment-Objekts gelöscht. Sie können dies verhindern, indem Sie die Eigenschaft CacheFilePersist auf true setzen.

Anmerkung:  Wenn Sie TSOAPAttachment als Basisklasse für eigene Anlagenobjekte verwenden, werden diese per Marshaling in einen TSOAPAttachment-Wert konvertiert. Daher werden ihre Anlagen von der empfangenden Anwendung als TSOAPAttachment-Instanzen erkannt und nicht als abgeleitete Objekte.

TSOAPAttachment muss in einer Anwendung zuerst in die Registrierung für Remotable-Klassen eingetragen werden, damit die Klasse verwendet werden kann. Sie können TSOAPAttachment oder eine der abgeleiteten Klassen registrieren, indem Sie die Methode RegisterXSClass des Objekts aufrufen, das von der globalen Funktion RemTypeRegistry zurückgegeben wird. Beim Importieren eines WSDL-Dokuments wird die Registrierung automatisch durchgeführt, wenn eine der Schnittstellen Anlagen verwendet.

Der Aufrufer einer aufrufbaren Schnittstelle (Client) ist für die Erstellung aller als Eingabeparameter übergebenen TSOAPAttachment-Instanzen verantwortlich. Die Freigabe der vom Client erstellten oder als Ausgabeparameter bzw. Methodenergebnisse zurückgegebenen TSOAPAttachment-Instanzen muss ebenfalls vom Client selbst vorgenommen werden.

In Web-Service-Anwendungen (Servern) werden alle TSOAPAttachment-Objekte, die Parametern oder Rückgabewerten entsprechen, dem Datenkontext hinzugefügt. Dieser gibt sie bei Bedarf frei.

Siehe auch