TROSOAPMessage Class

From RemObjects Wiki
Jump to: navigation, search

This is a Library topic for RemObjects SDK for Delphi
This page is generated from external data, please do not update

InterfacesClassesEnumsAliasesImplements

Contents

Overview

TROSoapMessage implements message encoding, using the Simple Object Access Protocol (SOAP), a standardized XML based protocol for exchanging messages between client and server, that forms the foundation of Web Services.


Location

uROSOAPMessage.pas

Implemented interfaces


Ancestor's members Protected's members

constructor Create ()   reintroduce overload virtual     (declared in TROMessage)

Creates a new instance.


constructor Create


constructor Create (TComponent)   overload override     (declared in TROMessage)

Creates a new instance.


constructor Create(aOwner: TComponent)


Parameters:

  • aOwner: Owner component.


constructor CreateRefCountedClone   virtual     (declared in TROMessage)



constructor CreateRefCountedClone(iMessage: TROMessage)


Parameters:

  • iMessage:


destructor Destroy   override

The standard destructor.


destructor Destroy


_AddRef   protected stdcall     (declared in TROMessage)



function _AddRef: Integer


_Release   protected stdcall     (declared in TROMessage)



function _Release: Integer


AddServerExceptionPrefix     (declared in TROMessage)



property AddServerExceptionPrefix: boolean read write


Assign   override

Copies the contents of another, similar object.


procedure Assign(iSource: TPersistent)


Parameters:

  • iSource: Instance whose properties will be copied


BodyNode

Provides access to the Body XML node of the SOAP message. You can access this node to inspect values or make manual modifications, if needed.



property BodyNode: IXMLNode read


CheckForEnvelope     (declared in TROMessage)

Checks stream for envelope


class function CheckForEnvelope(aStream: TStream; var aEnvelopeName: string): boolean


Parameters:

  • aStream: stream
  • aEnvelopeName: envelope's name if found.


CheckProperties   virtual     (declared in TROMessage)

Validates the message properties.


procedure CheckProperties


ClientID     (declared in TROMessage)

Contains the Client ID for the message. Client IDs are used by the RemObjects SDK for Session Management and to uniquely identify individual client on the server, for example by the Per-Client Class Factory or in your own custom code. Generally, you will not need to assign or read this value; the framework will automatically create a new unique client ID whenever a message object is instantiated on the client. However, you do have the option to read and write the ClientID property manually, for example to persist a specific client ID between shutdown and restart of your application.



property ClientID: TGuid read write


Clone   protected virtual     (declared in TROMessage)

Makes a shallow copy of this instance.


function Clone: IROMessage


CreateException   protected     (declared in TROMessage)



function CreateException(const aExceptionName: string; const aMessage: string): Exception


Parameters:

  • aExceptionName:
  • aMessage:


CreateSerializer   protected override



function CreateSerializer: TROSerializer


CustomLocation

This property can be set to override the "Location" value in WSDL files generated on the SOAP server. By default, the WSDL's location will point to the URL the server is running under.



property CustomLocation: string read write


EndWriteException   protected     (declared in TROMessage)



procedure EndWriteException(aStream: TStream)


Parameters:

  • aStream:


EnvelopeNode

Points to the SOAP Envelope XML node of the SOAP message. You can access this node to inspect values or make manual modifications, if needed.



property EnvelopeNode: IXMLNode read


Envelopes     (declared in TROMessage)

Envelopes collection.



property Envelopes: TROMessageEnvelopeCollection read write


Envelopes_ProcessIncoming   protected     (declared in TROMessage)

Processes incoming envelopes.


procedure Envelopes_ProcessIncoming(aStream: TStream)


Parameters:

  • aStream: incoming stream


Envelopes_ProcessOutgoing   protected     (declared in TROMessage)

Processes outgoing envelopes.


procedure Envelopes_ProcessOutgoing(aStream: TStream)


Parameters:

  • aStream: outgoing stream


FaultNode

Provides access to the Fault XML node of the SOAP message. You can access this node to inspect values or make manual modifications, if needed.



property FaultNode: IXMLNode read


Finalize   protected override



procedure Finalize


FreeStream   protected virtual     (declared in TROMessage)



procedure FreeStream


GetClientID   protected virtual     (declared in TROMessage)



function GetClientID: TGUID


GetInterfaceName   protected     (declared in TROMessage)



function GetInterfaceName: string


GetMaxEventsPerPoll   protected virtual     (declared in TROMessage)



function GetMaxEventsPerPoll: integer


GetMessageName   protected     (declared in TROMessage)



function GetMessageName: string


GetMessageType   protected virtual     (declared in TROMessage)



function GetMessageType: TMessageType


GetModuleInfo   protected override



procedure GetModuleInfo(aStream: TStream; const aTransport: IROTransport; var aFormat: TDataFormat)


Parameters:

  • aStream:
  • aTransport:
  • aFormat:


GetRodlInfo (TStream, IROTransport, TDataFormat)   protected overload     (declared in TROMessage)



procedure GetRodlInfo(aStream: TStream; const aTransport: IROTransport; var aFormat: TDataFormat)


Parameters:

  • aStream:
  • aTransport:
  • aFormat:


HasEnvelope     (declared in TROMessage)



class function HasEnvelope(const aData: array of Byte): Boolean


Parameters:

  • aData:


HeaderNode

Provides access to the Header XML node of the SOAP message. You can access this node to inspect values or make manual modifications, if needed.



property HeaderNode: IXMLNode read


Initialize (IROTransport, string, string, string, TMessageType)   protected overload override



procedure Initialize(const aTransport: IROTransport; const aLibraryName: string; const anInterfaceName: string; const aMessageName: string; aType: TMessageType)


Parameters:

  • aTransport:
  • aLibraryName:
  • anInterfaceName:
  • aMessageName:
  • aType:


Initialize (IROTransport, string, string, TMessageType)   protected overload override



procedure Initialize(const aTransport: IROTransport; const anInterfaceName: string; const aMessageName: string; aType: TMessageType)


Parameters:

  • aTransport:
  • anInterfaceName:
  • aMessageName:
  • aType:


InitializeEventMessage   protected     (declared in TROMessage)



procedure InitializeEventMessage(const aTransport: IROTransport; const aLibraryName: string; const anInterfaceName: string; const aMessageName: string)


Parameters:

  • aTransport:
  • aLibraryName:
  • anInterfaceName:
  • aMessageName:


InitializeExceptionMessage   protected override



procedure InitializeExceptionMessage(const aTransport: IROTransport; const aLibraryName: string; const anInterfaceName: string; const aMessageName: string)


Parameters:

  • aTransport:
  • aLibraryName:
  • anInterfaceName:
  • aMessageName:


InitializeRead   protected override



procedure InitializeRead(const aTransport: IROTransport)


Parameters:

  • aTransport:


InitializeRequestMessage   protected     (declared in TROMessage)



procedure InitializeRequestMessage(const aTransport: IROTransport; const aLibraryName: string; const anInterfaceName: string; const aMessageName: string)


Parameters:

  • aTransport:
  • aLibraryName:
  • anInterfaceName:
  • aMessageName:


InitializeResponseMessage   protected     (declared in TROMessage)



procedure InitializeResponseMessage(const aTransport: IROTransport; const aLibraryName: string; const anInterfaceName: string; const aMessageName: string)


Parameters:

  • aTransport:
  • aLibraryName:
  • anInterfaceName:
  • aMessageName:


InitObject   protected override



procedure InitObject


InterfaceName     (declared in TROMessage)

Holds the name of the interface (Service) that this message is calling.



property InterfaceName: string read write


IsValidMessage   override



function IsValidMessage(aData: PAnsiChar; aLength: Integer): boolean


Parameters:

  • aData:
  • aLength:


LibraryName



property LibraryName: string read write


MessageMatchingTargetUri     (declared in TROMessage)



class function MessageMatchingTargetUri(const aUri: TROUri): TROMessage


Parameters:

  • aUri:


MessageMatchingTargetUrl     (declared in TROMessage)



class function MessageMatchingTargetUrl(const aUrl: string): TROMessage


Parameters:

  • aUrl:


MessageName     (declared in TROMessage)

The name of the method that this message is calling. This property is set by the RemObjects SDK framework, and you will not usually change it manually. However, you might want to evaluate it for logging purposes or security checks, in the events of TROTransportChannel or Server.



property MessageName: string read write


MessageNode

Points to the Message XML node of the SOAP message. You can access this node to inspect values or make manual modifications, if needed.



property MessageNode: IXMLNode read


ModuleInfoName   protected



function ModuleInfoName: string


Notification   protected override     (declared in TROMessage)

Forwards notification messages to all owned components.


procedure Notification(AComponent: TComponent; Operation: TOperation)


Parameters:

  • AComponent: component
  • Operation: operation


OnAfterParseEnvelope

Fires after envelope was parsed.



property OnAfterParseEnvelope: TNotifyEvent read write


OnAfterProcessIncomingEnvelopes     (declared in TROMessage)

Fires after incoming envelopes were processed



property OnAfterProcessIncomingEnvelopes: TStreamOperation read write delegate: procedure Invoke(aStream: TStream)


OnAfterProcessOutgoingEnvelopes     (declared in TROMessage)

Fires after outgoing envelopes were processed



property OnAfterProcessOutgoingEnvelopes: TStreamOperation read write delegate: procedure Invoke(aStream: TStream)


OnBeforeParseEnvelope

Fires before envelope was parsed.



property OnBeforeParseEnvelope: TNotifyEvent read write


OnBeforeProcessIncomingEnvelopes     (declared in TROMessage)

Fires before incoming envelopes were processed



property OnBeforeProcessIncomingEnvelopes: TStreamOperation read write delegate: procedure Invoke(aStream: TStream)


OnBeforeProcessOutgoingEnvelopes     (declared in TROMessage)

Fires before outgoing evvelopes were processed



property OnBeforeProcessOutgoingEnvelopes: TStreamOperation read write delegate: procedure Invoke(aStream: TStream)


OnEnvelopeComplete

Fires after the SOAP envelope has been completely generated, giving the option to inspect and tweak the final results using the EnvelopeNode property.



property OnEnvelopeComplete: TROEnvelopeCompleteEvent read write delegate: procedure Invoke(Sender: TROSOAPMessage)


OnFinalizeMessage     (declared in TROMessage)

Fires as a message object is getting finalized, to send a new request or response. This happens after the entire message has been generated, all parameters have been added, and the message is ready to be sent off over the network.



property OnFinalizeMessage: TROFinalizeMessageEvent read write delegate: procedure Invoke(Sender: TROMessage)


OnInitializeMessage     (declared in TROMessage)

Fires as a message object is getting initialized, to send a new request or response. This happens after the basic message options are set, but before any parameters or data have been stored in the message.



property OnInitializeMessage: TROInitializeMessageEvent read write delegate: procedure Invoke(Sender: TROMessage; const aTransport: IROTransport; const anInterfaceName: string; const aMessageName: string)


OnReadFromStream     (declared in TROMessage)

Fires before the message is read from the stream that was received over the network. You can use this event to inspect the received stream, or to make manual modifications to it, for example to apply any custom decryption to the message stream before it is processed.



property OnReadFromStream: TStreamOperation read write delegate: procedure Invoke(aStream: TStream)


OnReadMessageParameter     (declared in TROMessage)

Fires after an individual message parameter has been read from the received message. The event call will include information about the name and type of the parameter, as well as an untyped pointer to the data. Use this event handler to inspect or log the parameters that are received. In theory, it is also possible to modify the value parameter using the DataRef pointer, but this should be done with extreme caution.



property OnReadMessageParameter: TROReadMessageParameterEvent read write delegate: procedure Invoke(Sender: TROMessage; const aName: string; aTypeInfo: PTypeInfo; const DataRef: pointer; Attributes: TParamAttributes)


OnServerException     (declared in TROMessage)

Fires if an exception message is received from the server. Use this event handler to provide a single point of interception to be notified of all exceptions raised on the server. In contrast to the TROTransportChannel's OnException event, this event will not fire for communication errors or local exceptions during the processing of a request, but only for exceptions that truly originated on the server.



property OnServerException: TROServerExceptionEvent read write delegate: procedure Invoke(anException: Exception; var RaiseException: boolean)


OnSOAPFault

Fires after an exception (fault) has been read from the received SOAP message, allowing to inspect the fault details before the actual exception is raised.



property OnSOAPFault: TSOAPFaultEvent read write delegate: procedure Invoke(const aFaultNode: IXMLNode; const aFaultCode: string; const aFaultString: string; const aFaultActor: string; const aFaultDetail: string)


OnWriteEnvelopeAttribute

This event fires before a given SOAP attribute is written to the envelope. You can use this event to determine whether specific attributes will be written and to exclude attributes that a particular third party SOAP implementation you are talking to might not understand.



property OnWriteEnvelopeAttribute: TROAttributeWriteEvent read write delegate: procedure Invoke(Sender: TROSOAPMessage; var AttributeName: string; var AttributeValue: variant; var CanWrite: boolean)


OnWriteException     (declared in TROMessage)

Fires after an exception message was written to the stream that will be sent over the network. This event will fire in addition to (and before) the OnWriteToStream event. You can use this event to inspect the exception message or the outgoing stream.



property OnWriteException: TROWriteExceptionEvent read write delegate: procedure Invoke(Sender: TROMessage; aStream: TStream; E: Exception)


OnWriteMessageParameter     (declared in TROMessage)

Fires before an individual message parameter will be written to the outgoing message. The event call will include information about the name and type of the parameter, as well as an untyped pointer to the data.



property OnWriteMessageParameter: TROWriteMessageParameterEvent read write delegate: procedure Invoke(Sender: TROMessage; const aName: string; aTypeInfo: PTypeInfo; const DataRef: pointer; Attributes: TParamAttributes)


OnWriteToStream     (declared in TROMessage)

Fires after the message was written to the stream that will be sent over the network. You can use this event to inspect the outgoing stream, or to make manual modifications to it, e.g. to apply any custom encryption to the message stream before it is sent off.



property OnWriteToStream: TStreamOperation read write delegate: procedure Invoke(aStream: TStream)


ProcessException   protected     (declared in TROMessage)



procedure ProcessException


Read   protected override



procedure Read(const aName: string; aTypeInfo: PTypeInfo; var Ptr: ; Attributes: TParamAttributes)


Parameters:

  • aName:
  • aTypeInfo:
  • Ptr:
  • Attributes:


ReadAnsiString   protected     (declared in TROMessage)



procedure ReadAnsiString(const aName: string; var Ref: ; ArrayElementId: integer; iMaxLength: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:
  • iMaxLength:


ReadArray   protected     (declared in TROMessage)



function ReadArray(const aName: string; aClass: TClass; var Ref: ; ArrayElementId: integer): Boolean


Parameters:

  • aName:
  • aClass:
  • Ref:
  • ArrayElementId:


ReadBinary   protected     (declared in TROMessage)



procedure ReadBinary(const aName: string; var Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


ReadDateTime   protected     (declared in TROMessage)



procedure ReadDateTime(const aName: string; var Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


ReadDecimal   protected     (declared in TROMessage)



procedure ReadDecimal(const aName: string; var Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


ReadDouble   protected     (declared in TROMessage)



procedure ReadDouble(const aName: string; aFloatType: TFloatType; var Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • aFloatType:
  • Ref:
  • ArrayElementId:


ReadEnumerated   protected     (declared in TROMessage)



procedure ReadEnumerated(const aName: string; anEnumTypeInfo: PTypeInfo; var Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • anEnumTypeInfo:
  • Ref:
  • ArrayElementId:


ReadException   protected override

Reads the exception data from the incoming message and creates the exception object accordingly.


function ReadException: Exception


ReadFromStream (TStream)   protected override



procedure ReadFromStream(aStream: TStream)


Parameters:

  • aStream:


ReadFromStream (TStream, Boolean)   protected overload virtual     (declared in TROMessage)



procedure ReadFromStream(aStream: TStream; var aFreeStream: Boolean)


Parameters:

  • aStream:
  • aFreeStream:


ReadGuid   protected     (declared in TROMessage)



procedure ReadGuid(const aName: string; var Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


ReadInt64   protected     (declared in TROMessage)



procedure ReadInt64(const aName: string; var Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


ReadInteger   protected     (declared in TROMessage)



procedure ReadInteger(const aName: string; anOrdType: TOrdType; var Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • anOrdType:
  • Ref:
  • ArrayElementId:


ReadStruct   protected     (declared in TROMessage)



function ReadStruct(const aName: string; aClass: TClass; var Ref: ; ArrayElementId: integer): Boolean


Parameters:

  • aName:
  • aClass:
  • Ref:
  • ArrayElementId:


ReadUTF8String   protected     (declared in TROMessage)



procedure ReadUTF8String(const aName: string; var Ref: ; ArrayElementId: integer; iMaxLength: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:
  • iMaxLength:


ReadVariant   protected     (declared in TROMessage)



procedure ReadVariant(const aName: string; var Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


ReadWideString   protected     (declared in TROMessage)



procedure ReadWideString(const aName: string; var Ref: ; ArrayElementId: integer; iMaxLength: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:
  • iMaxLength:


ReadXml   protected     (declared in TROMessage)



procedure ReadXml(const aName: string; var Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


ReferenceCounted   protected     (declared in TROMessage)



property ReferenceCounted: boolean read


RODLReader     (declared in TROMessage)



property RODLReader: TROCustomRODLReader read write


ROFreeNotification     (declared in TROComponent)

Forwards notification messages to all owned RO components.


procedure ROFreeNotification(AComponent: TComponent)


Parameters:

  • AComponent: component


RORemoveFreeNotification     (declared in TROComponent)

Disables destruction notification for specified RO component.


procedure RORemoveFreeNotification(AComponent: TComponent)


Parameters:

  • AComponent: component


SendRemoveNotification   protected     (declared in TROComponent)

Sends remove notification to specified component


procedure SendRemoveNotification(AComponent: TComponent)


Parameters:

  • AComponent: component


SerializationOptions

Controls how SOAP messages are generated, which might be relevant when talking to third party SOAP implementations.



property SerializationOptions: TROXMLSerializationOptions read write


Serializer     (declared in TROMessage)



property Serializer: TROSerializer read


ServerTargetNamespace



property ServerTargetNamespace: string read write


SetAttributes   protected override



procedure SetAttributes(aTransport: IROTransport; const aNames: array of string; const aValues: array of string)


Parameters:

  • aTransport:
  • aNames:
  • aValues:


SetClientID   protected virtual     (declared in TROMessage)



procedure SetClientID(const Value: TGUID)


Parameters:

  • Value:


SetInterfaceName   protected     (declared in TROMessage)



procedure SetInterfaceName(const aValue: string)


Parameters:

  • aValue:


SetMessageName   protected     (declared in TROMessage)



procedure SetMessageName(const aValue: string)


Parameters:

  • aValue:


SoapMode



property SoapMode: TROSoapMode read write


UnsetAttributes   protected override



procedure UnsetAttributes(aTransport: IROTransport)


Parameters:

  • aTransport:


Write   protected override



procedure Write(const aName: string; aTypeInfo: PTypeInfo; const Ptr: ; Attributes: TParamAttributes)


Parameters:

  • aName:
  • aTypeInfo:
  • Ptr:
  • Attributes:


WriteAnsiString   protected     (declared in TROMessage)



procedure WriteAnsiString(const aName: string; const Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


WriteArray   protected     (declared in TROMessage)



procedure WriteArray(const aName: string; const Ref: ; aClass: TClass; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • aClass:
  • ArrayElementId:


WriteAttribute   protected



procedure WriteAttribute(attrname: string; attrvalue: variant)


Parameters:

  • attrname:
  • attrvalue:


WriteBinary   protected     (declared in TROMessage)



procedure WriteBinary(const aName: string; const Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


WriteDateTime   protected     (declared in TROMessage)



procedure WriteDateTime(const aName: string; const Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


WriteDecimal   protected     (declared in TROMessage)



procedure WriteDecimal(const aName: string; const Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


WriteDouble   protected     (declared in TROMessage)



procedure WriteDouble(const aName: string; aFloatType: TFloatType; const Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • aFloatType:
  • Ref:
  • ArrayElementId:


WriteEnumerated   protected     (declared in TROMessage)



procedure WriteEnumerated(const aName: string; anEnumTypeInfo: PTypeInfo; const Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • anEnumTypeInfo:
  • Ref:
  • ArrayElementId:


WriteEnvelopeHeader   protected     (declared in TROMessage)

Writes envelope header to outgoing stream.


procedure WriteEnvelopeHeader(aEnvelope: TROMessageEnvelope; AStream: TStream)


Parameters:

  • aEnvelope: envelope
  • AStream: outgoing stream


WriteException   protected override



procedure WriteException(aStream: TStream; anException: Exception)


Parameters:

  • aStream:
  • anException:


WriteGuid   protected     (declared in TROMessage)



procedure WriteGuid(const aName: string; const Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


WriteInt64   protected     (declared in TROMessage)



procedure WriteInt64(const aName: string; const Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


WriteInteger   protected     (declared in TROMessage)



procedure WriteInteger(const aName: string; anOrdType: TOrdType; const Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • anOrdType:
  • Ref:
  • ArrayElementId:


WriteStruct   protected     (declared in TROMessage)



procedure WriteStruct(const aName: string; const Ref: ; aClass: TClass; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • aClass:
  • ArrayElementId:


WriteToStream   protected override



procedure WriteToStream(aStream: TStream)


Parameters:

  • aStream:


WriteUTF8String   protected     (declared in TROMessage)



procedure WriteUTF8String(const aName: string; const Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


WriteVariant   protected     (declared in TROMessage)



procedure WriteVariant(const aName: string; const Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


WriteWideString   protected     (declared in TROMessage)



procedure WriteWideString(const aName: string; const Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


WriteXml   protected     (declared in TROMessage)



procedure WriteXml(const aName: string; const Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:

AddServerExceptionPrefix     (declared in TROMessage)



property AddServerExceptionPrefix: boolean read write


BodyNode

Provides access to the Body XML node of the SOAP message. You can access this node to inspect values or make manual modifications, if needed.



property BodyNode: IXMLNode read


ClientID     (declared in TROMessage)

Contains the Client ID for the message. Client IDs are used by the RemObjects SDK for Session Management and to uniquely identify individual client on the server, for example by the Per-Client Class Factory or in your own custom code. Generally, you will not need to assign or read this value; the framework will automatically create a new unique client ID whenever a message object is instantiated on the client. However, you do have the option to read and write the ClientID property manually, for example to persist a specific client ID between shutdown and restart of your application.



property ClientID: TGuid read write


CustomLocation

This property can be set to override the "Location" value in WSDL files generated on the SOAP server. By default, the WSDL's location will point to the URL the server is running under.



property CustomLocation: string read write


EnvelopeNode

Points to the SOAP Envelope XML node of the SOAP message. You can access this node to inspect values or make manual modifications, if needed.



property EnvelopeNode: IXMLNode read


Envelopes     (declared in TROMessage)

Envelopes collection.



property Envelopes: TROMessageEnvelopeCollection read write


FaultNode

Provides access to the Fault XML node of the SOAP message. You can access this node to inspect values or make manual modifications, if needed.



property FaultNode: IXMLNode read


HeaderNode

Provides access to the Header XML node of the SOAP message. You can access this node to inspect values or make manual modifications, if needed.



property HeaderNode: IXMLNode read


InterfaceName     (declared in TROMessage)

Holds the name of the interface (Service) that this message is calling.



property InterfaceName: string read write


LibraryName



property LibraryName: string read write


MessageName     (declared in TROMessage)

The name of the method that this message is calling. This property is set by the RemObjects SDK framework, and you will not usually change it manually. However, you might want to evaluate it for logging purposes or security checks, in the events of TROTransportChannel or Server.



property MessageName: string read write


MessageNode

Points to the Message XML node of the SOAP message. You can access this node to inspect values or make manual modifications, if needed.



property MessageNode: IXMLNode read


ReferenceCounted   protected     (declared in TROMessage)



property ReferenceCounted: boolean read


RODLReader     (declared in TROMessage)



property RODLReader: TROCustomRODLReader read write


SerializationOptions

Controls how SOAP messages are generated, which might be relevant when talking to third party SOAP implementations.



property SerializationOptions: TROXMLSerializationOptions read write


Serializer     (declared in TROMessage)



property Serializer: TROSerializer read


ServerTargetNamespace



property ServerTargetNamespace: string read write


SoapMode



property SoapMode: TROSoapMode read write

CheckForEnvelope     (declared in TROMessage)

Checks stream for envelope


class function CheckForEnvelope(aStream: TStream; var aEnvelopeName: string): boolean


Parameters:

  • aStream: stream
  • aEnvelopeName: envelope's name if found.


HasEnvelope     (declared in TROMessage)



class function HasEnvelope(const aData: array of Byte): Boolean


Parameters:

  • aData:


MessageMatchingTargetUri     (declared in TROMessage)



class function MessageMatchingTargetUri(const aUri: TROUri): TROMessage


Parameters:

  • aUri:


MessageMatchingTargetUrl     (declared in TROMessage)



class function MessageMatchingTargetUrl(const aUrl: string): TROMessage


Parameters:

  • aUrl:

constructor Create ()   reintroduce overload virtual     (declared in TROMessage)

Creates a new instance.


constructor Create


constructor Create (TComponent)   overload override     (declared in TROMessage)

Creates a new instance.


constructor Create(aOwner: TComponent)


Parameters:

  • aOwner: Owner component.


constructor CreateRefCountedClone   virtual     (declared in TROMessage)



constructor CreateRefCountedClone(iMessage: TROMessage)


Parameters:

  • iMessage:


destructor Destroy   override

The standard destructor.


destructor Destroy


_AddRef   protected stdcall     (declared in TROMessage)



function _AddRef: Integer


_Release   protected stdcall     (declared in TROMessage)



function _Release: Integer


Assign   override

Copies the contents of another, similar object.


procedure Assign(iSource: TPersistent)


Parameters:

  • iSource: Instance whose properties will be copied


CheckProperties   virtual     (declared in TROMessage)

Validates the message properties.


procedure CheckProperties


Clone   protected virtual     (declared in TROMessage)

Makes a shallow copy of this instance.


function Clone: IROMessage


CreateException   protected     (declared in TROMessage)



function CreateException(const aExceptionName: string; const aMessage: string): Exception


Parameters:

  • aExceptionName:
  • aMessage:


CreateSerializer   protected override



function CreateSerializer: TROSerializer


EndWriteException   protected     (declared in TROMessage)



procedure EndWriteException(aStream: TStream)


Parameters:

  • aStream:


Envelopes_ProcessIncoming   protected     (declared in TROMessage)

Processes incoming envelopes.


procedure Envelopes_ProcessIncoming(aStream: TStream)


Parameters:

  • aStream: incoming stream


Envelopes_ProcessOutgoing   protected     (declared in TROMessage)

Processes outgoing envelopes.


procedure Envelopes_ProcessOutgoing(aStream: TStream)


Parameters:

  • aStream: outgoing stream


Finalize   protected override



procedure Finalize


FreeStream   protected virtual     (declared in TROMessage)



procedure FreeStream


GetClientID   protected virtual     (declared in TROMessage)



function GetClientID: TGUID


GetInterfaceName   protected     (declared in TROMessage)



function GetInterfaceName: string


GetMaxEventsPerPoll   protected virtual     (declared in TROMessage)



function GetMaxEventsPerPoll: integer


GetMessageName   protected     (declared in TROMessage)



function GetMessageName: string


GetMessageType   protected virtual     (declared in TROMessage)



function GetMessageType: TMessageType


GetModuleInfo   protected override



procedure GetModuleInfo(aStream: TStream; const aTransport: IROTransport; var aFormat: TDataFormat)


Parameters:

  • aStream:
  • aTransport:
  • aFormat:


GetRodlInfo (TStream, IROTransport, TDataFormat)   protected overload     (declared in TROMessage)



procedure GetRodlInfo(aStream: TStream; const aTransport: IROTransport; var aFormat: TDataFormat)


Parameters:

  • aStream:
  • aTransport:
  • aFormat:


Initialize (IROTransport, string, string, string, TMessageType)   protected overload override



procedure Initialize(const aTransport: IROTransport; const aLibraryName: string; const anInterfaceName: string; const aMessageName: string; aType: TMessageType)


Parameters:

  • aTransport:
  • aLibraryName:
  • anInterfaceName:
  • aMessageName:
  • aType:


Initialize (IROTransport, string, string, TMessageType)   protected overload override



procedure Initialize(const aTransport: IROTransport; const anInterfaceName: string; const aMessageName: string; aType: TMessageType)


Parameters:

  • aTransport:
  • anInterfaceName:
  • aMessageName:
  • aType:


InitializeEventMessage   protected     (declared in TROMessage)



procedure InitializeEventMessage(const aTransport: IROTransport; const aLibraryName: string; const anInterfaceName: string; const aMessageName: string)


Parameters:

  • aTransport:
  • aLibraryName:
  • anInterfaceName:
  • aMessageName:


InitializeExceptionMessage   protected override



procedure InitializeExceptionMessage(const aTransport: IROTransport; const aLibraryName: string; const anInterfaceName: string; const aMessageName: string)


Parameters:

  • aTransport:
  • aLibraryName:
  • anInterfaceName:
  • aMessageName:


InitializeRead   protected override



procedure InitializeRead(const aTransport: IROTransport)


Parameters:

  • aTransport:


InitializeRequestMessage   protected     (declared in TROMessage)



procedure InitializeRequestMessage(const aTransport: IROTransport; const aLibraryName: string; const anInterfaceName: string; const aMessageName: string)


Parameters:

  • aTransport:
  • aLibraryName:
  • anInterfaceName:
  • aMessageName:


InitializeResponseMessage   protected     (declared in TROMessage)



procedure InitializeResponseMessage(const aTransport: IROTransport; const aLibraryName: string; const anInterfaceName: string; const aMessageName: string)


Parameters:

  • aTransport:
  • aLibraryName:
  • anInterfaceName:
  • aMessageName:


InitObject   protected override



procedure InitObject


IsValidMessage   override



function IsValidMessage(aData: PAnsiChar; aLength: Integer): boolean


Parameters:

  • aData:
  • aLength:


ModuleInfoName   protected



function ModuleInfoName: string


Notification   protected override     (declared in TROMessage)

Forwards notification messages to all owned components.


procedure Notification(AComponent: TComponent; Operation: TOperation)


Parameters:

  • AComponent: component
  • Operation: operation


ProcessException   protected     (declared in TROMessage)



procedure ProcessException


Read   protected override



procedure Read(const aName: string; aTypeInfo: PTypeInfo; var Ptr: ; Attributes: TParamAttributes)


Parameters:

  • aName:
  • aTypeInfo:
  • Ptr:
  • Attributes:


ReadAnsiString   protected     (declared in TROMessage)



procedure ReadAnsiString(const aName: string; var Ref: ; ArrayElementId: integer; iMaxLength: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:
  • iMaxLength:


ReadArray   protected     (declared in TROMessage)



function ReadArray(const aName: string; aClass: TClass; var Ref: ; ArrayElementId: integer): Boolean


Parameters:

  • aName:
  • aClass:
  • Ref:
  • ArrayElementId:


ReadBinary   protected     (declared in TROMessage)



procedure ReadBinary(const aName: string; var Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


ReadDateTime   protected     (declared in TROMessage)



procedure ReadDateTime(const aName: string; var Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


ReadDecimal   protected     (declared in TROMessage)



procedure ReadDecimal(const aName: string; var Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


ReadDouble   protected     (declared in TROMessage)



procedure ReadDouble(const aName: string; aFloatType: TFloatType; var Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • aFloatType:
  • Ref:
  • ArrayElementId:


ReadEnumerated   protected     (declared in TROMessage)



procedure ReadEnumerated(const aName: string; anEnumTypeInfo: PTypeInfo; var Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • anEnumTypeInfo:
  • Ref:
  • ArrayElementId:


ReadException   protected override

Reads the exception data from the incoming message and creates the exception object accordingly.


function ReadException: Exception


ReadFromStream (TStream)   protected override



procedure ReadFromStream(aStream: TStream)


Parameters:

  • aStream:


ReadFromStream (TStream, Boolean)   protected overload virtual     (declared in TROMessage)



procedure ReadFromStream(aStream: TStream; var aFreeStream: Boolean)


Parameters:

  • aStream:
  • aFreeStream:


ReadGuid   protected     (declared in TROMessage)



procedure ReadGuid(const aName: string; var Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


ReadInt64   protected     (declared in TROMessage)



procedure ReadInt64(const aName: string; var Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


ReadInteger   protected     (declared in TROMessage)



procedure ReadInteger(const aName: string; anOrdType: TOrdType; var Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • anOrdType:
  • Ref:
  • ArrayElementId:


ReadStruct   protected     (declared in TROMessage)



function ReadStruct(const aName: string; aClass: TClass; var Ref: ; ArrayElementId: integer): Boolean


Parameters:

  • aName:
  • aClass:
  • Ref:
  • ArrayElementId:


ReadUTF8String   protected     (declared in TROMessage)



procedure ReadUTF8String(const aName: string; var Ref: ; ArrayElementId: integer; iMaxLength: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:
  • iMaxLength:


ReadVariant   protected     (declared in TROMessage)



procedure ReadVariant(const aName: string; var Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


ReadWideString   protected     (declared in TROMessage)



procedure ReadWideString(const aName: string; var Ref: ; ArrayElementId: integer; iMaxLength: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:
  • iMaxLength:


ReadXml   protected     (declared in TROMessage)



procedure ReadXml(const aName: string; var Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


ROFreeNotification     (declared in TROComponent)

Forwards notification messages to all owned RO components.


procedure ROFreeNotification(AComponent: TComponent)


Parameters:

  • AComponent: component


RORemoveFreeNotification     (declared in TROComponent)

Disables destruction notification for specified RO component.


procedure RORemoveFreeNotification(AComponent: TComponent)


Parameters:

  • AComponent: component


SendRemoveNotification   protected     (declared in TROComponent)

Sends remove notification to specified component


procedure SendRemoveNotification(AComponent: TComponent)


Parameters:

  • AComponent: component


SetAttributes   protected override



procedure SetAttributes(aTransport: IROTransport; const aNames: array of string; const aValues: array of string)


Parameters:

  • aTransport:
  • aNames:
  • aValues:


SetClientID   protected virtual     (declared in TROMessage)



procedure SetClientID(const Value: TGUID)


Parameters:

  • Value:


SetInterfaceName   protected     (declared in TROMessage)



procedure SetInterfaceName(const aValue: string)


Parameters:

  • aValue:


SetMessageName   protected     (declared in TROMessage)



procedure SetMessageName(const aValue: string)


Parameters:

  • aValue:


UnsetAttributes   protected override



procedure UnsetAttributes(aTransport: IROTransport)


Parameters:

  • aTransport:


Write   protected override



procedure Write(const aName: string; aTypeInfo: PTypeInfo; const Ptr: ; Attributes: TParamAttributes)


Parameters:

  • aName:
  • aTypeInfo:
  • Ptr:
  • Attributes:


WriteAnsiString   protected     (declared in TROMessage)



procedure WriteAnsiString(const aName: string; const Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


WriteArray   protected     (declared in TROMessage)



procedure WriteArray(const aName: string; const Ref: ; aClass: TClass; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • aClass:
  • ArrayElementId:


WriteAttribute   protected



procedure WriteAttribute(attrname: string; attrvalue: variant)


Parameters:

  • attrname:
  • attrvalue:


WriteBinary   protected     (declared in TROMessage)



procedure WriteBinary(const aName: string; const Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


WriteDateTime   protected     (declared in TROMessage)



procedure WriteDateTime(const aName: string; const Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


WriteDecimal   protected     (declared in TROMessage)



procedure WriteDecimal(const aName: string; const Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


WriteDouble   protected     (declared in TROMessage)



procedure WriteDouble(const aName: string; aFloatType: TFloatType; const Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • aFloatType:
  • Ref:
  • ArrayElementId:


WriteEnumerated   protected     (declared in TROMessage)



procedure WriteEnumerated(const aName: string; anEnumTypeInfo: PTypeInfo; const Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • anEnumTypeInfo:
  • Ref:
  • ArrayElementId:


WriteEnvelopeHeader   protected     (declared in TROMessage)

Writes envelope header to outgoing stream.


procedure WriteEnvelopeHeader(aEnvelope: TROMessageEnvelope; AStream: TStream)


Parameters:

  • aEnvelope: envelope
  • AStream: outgoing stream


WriteException   protected override



procedure WriteException(aStream: TStream; anException: Exception)


Parameters:

  • aStream:
  • anException:


WriteGuid   protected     (declared in TROMessage)



procedure WriteGuid(const aName: string; const Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


WriteInt64   protected     (declared in TROMessage)



procedure WriteInt64(const aName: string; const Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


WriteInteger   protected     (declared in TROMessage)



procedure WriteInteger(const aName: string; anOrdType: TOrdType; const Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • anOrdType:
  • Ref:
  • ArrayElementId:


WriteStruct   protected     (declared in TROMessage)



procedure WriteStruct(const aName: string; const Ref: ; aClass: TClass; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • aClass:
  • ArrayElementId:


WriteToStream   protected override



procedure WriteToStream(aStream: TStream)


Parameters:

  • aStream:


WriteUTF8String   protected     (declared in TROMessage)



procedure WriteUTF8String(const aName: string; const Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


WriteVariant   protected     (declared in TROMessage)



procedure WriteVariant(const aName: string; const Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


WriteWideString   protected     (declared in TROMessage)



procedure WriteWideString(const aName: string; const Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:


WriteXml   protected     (declared in TROMessage)



procedure WriteXml(const aName: string; const Ref: ; ArrayElementId: integer)


Parameters:

  • aName:
  • Ref:
  • ArrayElementId:

OnAfterParseEnvelope

Fires after envelope was parsed.



property OnAfterParseEnvelope: TNotifyEvent read write


OnAfterProcessIncomingEnvelopes     (declared in TROMessage)

Fires after incoming envelopes were processed



property OnAfterProcessIncomingEnvelopes: TStreamOperation read write delegate: procedure Invoke(aStream: TStream)


OnAfterProcessOutgoingEnvelopes     (declared in TROMessage)

Fires after outgoing envelopes were processed



property OnAfterProcessOutgoingEnvelopes: TStreamOperation read write delegate: procedure Invoke(aStream: TStream)


OnBeforeParseEnvelope

Fires before envelope was parsed.



property OnBeforeParseEnvelope: TNotifyEvent read write


OnBeforeProcessIncomingEnvelopes     (declared in TROMessage)

Fires before incoming envelopes were processed



property OnBeforeProcessIncomingEnvelopes: TStreamOperation read write delegate: procedure Invoke(aStream: TStream)


OnBeforeProcessOutgoingEnvelopes     (declared in TROMessage)

Fires before outgoing evvelopes were processed



property OnBeforeProcessOutgoingEnvelopes: TStreamOperation read write delegate: procedure Invoke(aStream: TStream)


OnEnvelopeComplete

Fires after the SOAP envelope has been completely generated, giving the option to inspect and tweak the final results using the EnvelopeNode property.



property OnEnvelopeComplete: TROEnvelopeCompleteEvent read write delegate: procedure Invoke(Sender: TROSOAPMessage)


OnFinalizeMessage     (declared in TROMessage)

Fires as a message object is getting finalized, to send a new request or response. This happens after the entire message has been generated, all parameters have been added, and the message is ready to be sent off over the network.



property OnFinalizeMessage: TROFinalizeMessageEvent read write delegate: procedure Invoke(Sender: TROMessage)


OnInitializeMessage     (declared in TROMessage)

Fires as a message object is getting initialized, to send a new request or response. This happens after the basic message options are set, but before any parameters or data have been stored in the message.



property OnInitializeMessage: TROInitializeMessageEvent read write delegate: procedure Invoke(Sender: TROMessage; const aTransport: IROTransport; const anInterfaceName: string; const aMessageName: string)


OnReadFromStream     (declared in TROMessage)

Fires before the message is read from the stream that was received over the network. You can use this event to inspect the received stream, or to make manual modifications to it, for example to apply any custom decryption to the message stream before it is processed.



property OnReadFromStream: TStreamOperation read write delegate: procedure Invoke(aStream: TStream)


OnReadMessageParameter     (declared in TROMessage)

Fires after an individual message parameter has been read from the received message. The event call will include information about the name and type of the parameter, as well as an untyped pointer to the data. Use this event handler to inspect or log the parameters that are received. In theory, it is also possible to modify the value parameter using the DataRef pointer, but this should be done with extreme caution.



property OnReadMessageParameter: TROReadMessageParameterEvent read write delegate: procedure Invoke(Sender: TROMessage; const aName: string; aTypeInfo: PTypeInfo; const DataRef: pointer; Attributes: TParamAttributes)


OnServerException     (declared in TROMessage)

Fires if an exception message is received from the server. Use this event handler to provide a single point of interception to be notified of all exceptions raised on the server. In contrast to the TROTransportChannel's OnException event, this event will not fire for communication errors or local exceptions during the processing of a request, but only for exceptions that truly originated on the server.



property OnServerException: TROServerExceptionEvent read write delegate: procedure Invoke(anException: Exception; var RaiseException: boolean)


OnSOAPFault

Fires after an exception (fault) has been read from the received SOAP message, allowing to inspect the fault details before the actual exception is raised.



property OnSOAPFault: TSOAPFaultEvent read write delegate: procedure Invoke(const aFaultNode: IXMLNode; const aFaultCode: string; const aFaultString: string; const aFaultActor: string; const aFaultDetail: string)


OnWriteEnvelopeAttribute

This event fires before a given SOAP attribute is written to the envelope. You can use this event to determine whether specific attributes will be written and to exclude attributes that a particular third party SOAP implementation you are talking to might not understand.



property OnWriteEnvelopeAttribute: TROAttributeWriteEvent read write delegate: procedure Invoke(Sender: TROSOAPMessage; var AttributeName: string; var AttributeValue: variant; var CanWrite: boolean)


OnWriteException     (declared in TROMessage)

Fires after an exception message was written to the stream that will be sent over the network. This event will fire in addition to (and before) the OnWriteToStream event. You can use this event to inspect the exception message or the outgoing stream.



property OnWriteException: TROWriteExceptionEvent read write delegate: procedure Invoke(Sender: TROMessage; aStream: TStream; E: Exception)


OnWriteMessageParameter     (declared in TROMessage)

Fires before an individual message parameter will be written to the outgoing message. The event call will include information about the name and type of the parameter, as well as an untyped pointer to the data.



property OnWriteMessageParameter: TROWriteMessageParameterEvent read write delegate: procedure Invoke(Sender: TROMessage; const aName: string; aTypeInfo: PTypeInfo; const DataRef: pointer; Attributes: TParamAttributes)


OnWriteToStream     (declared in TROMessage)

Fires after the message was written to the stream that will be sent over the network. You can use this event to inspect the outgoing stream, or to make manual modifications to it, e.g. to apply any custom encryption to the message stream before it is sent off.



property OnWriteToStream: TStreamOperation read write delegate: procedure Invoke(aStream: TStream)


See Also


Product: RemObjects SDK
Available Editions: RemObjects SDK for .NET, Xcode, Delphi, Java and JavaScript

GlossaryArticlesLibrarySamples