我在.NET中创建了一个Web服务,可以在Silverlight和WPF上正常工作。我想用Delphi XE4做一些尝试。我的服务是用SOAP公开的,因此它非常适合具有自动WSDL导入器的Rad Studio。我的问题是我的每个类型都用2个类来表示。
第一个是复杂类型,它继承自TRemotable:
// ************************************************************************ //
// XML : MessageRecuperationSalaries, global, <complexType>
// Espace de nommage : http://XXX/XXX/XXX
// ************************************************************************ //
MessageRecuperationSalaries2 = class(TRemotable)
private
FEtabCode: string;
FEtabCode_Specified: boolean;
FSalaries: ArrayOfSalarie;
FSalaries_Specified: boolean;
procedure SetEtabCode(Index: Integer; const Astring: string);
function EtabCode_Specified(Index: Integer): boolean;
procedure SetSalaries(Index: Integer; const AArrayOfSalarie: ArrayOfSalarie);
function Salaries_Specified(Index: Integer): boolean;
public
destructor Destroy; override;
published
property EtabCode: string Index (IS_OPTN or IS_NLBL) read FEtabCode write SetEtabCode stored EtabCode_Specified;
property Salaries: ArrayOfSalarie Index (IS_OPTN or IS_NLBL) read FSalaries write SetSalaries stored Salaries_Specified;
end;
第二个类继承自第一个类,不包含任何属性:
// ************************************************************************ //
// XML : MessageRecuperationSalaries, global, <element>
// Espace de nommage : http://XXX/XXX/XXX
// ************************************************************************ //
MessageRecuperationSalaries = class(MessageRecuperationSalaries2)
private
published
end;
是否有任何选项可以直接为每个继承自TRemotable的类型生成一个类?或者我的网络服务是什么原因?