我在 .NET 中创建了一个 Web 服务,它在 Silverlight 和 WPF 上运行良好。我想尝试一下 Delphi XE4。我的服务使用 SOAP 公开,因此非常适合具有自动 WSDL 导入器的 Rad Studio。我的问题是我的每种类型的 ws 都用 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 的类型生成一个类?还是我的网络服务有问题?