为什么wsdl导入器会生成奇怪的对象?

时间:2013-09-11 14:56:44

标签: wcf delphi

我在.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的类型生成一个类?或者我的网络服务是什么原因?

0 个答案:

没有答案