I use Delphi 7 and import from a WDL file to create a SOAP client. Delphi creates an interface code with published functions from WSDL and parameter types (classes) for these functions.
Delphi determined that something like this
Message = class(TRemotable)
private
FMessageID: Int64;
Ftimestamp: TXSDateTime;
Fevent: eventType;
FmagicNumber: WideString;
FDataPart: DataPart;
published
property MessageID: Int64 read FMessageID write FMessageID;
property timestamp: TXSDateTime read Ftimestamp write Ftimestamp;
property event: eventType read Fevent write Fevent;
property magicNumber: WideString read FmagicNumber write FmagicNumber;
property DataPart: DataPart read FDataPart write FDataPart;
end;
should be sent as TByteDynArray ...
function sendMessage(const theMessage: TByteDynArray;
const data: DataPart): WideString; stdcall;
which requires me to convert the object to TByteDnyArray, which are Delphi n00b creatures - I do this with
theMessageArray := TByteDynArray(theMessage);
, ( Ftimestamp Ftimestamp), TByteDynArray, . , , "" - , . TByteDynArray, ? ( , , "" , )
, ...