Delphi 2007 を使用して、クライアント側で使用する wsdl をインポートしようとしています。
に WSDL をhttps://services.rdc.nl/voertuigscan/2.0/wsdl
インポートしました。これは、xsd をインポートしてその型を定義します。インポートされた xsd には、いくつかの追加のインポートおよびインクルードされた xsd があり、その中で次のタイプが定義されています。
<xs:complexType name="BedragExtended">
<xs:simpleContent>
<xs:extension base="ct:Bedrag">
<xs:attribute name="Bron" type="Bron"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
タイプ ct:Bedrag は、含まれている XSD で次のように定義されています。
<xs:simpleType name="Bedrag">
<xs:restriction base="xs:decimal">
<xs:totalDigits value="9"/>
<xs:fractionDigits value="2"/>
</xs:restriction>
</xs:simpleType>
ただし、BedragExtended 型は次のようにインポートされます。
// ************************************************************************ //
// XML : BedragExtended, global, <complexType>
// Namespace : http://nsp.rdc.nl/RDC/voertuigscan
// ************************************************************************ //
BedragExtended = class(TRemotable)
private
FBron: Bron;
FBron_Specified: boolean;
procedure SetBron(Index: Integer; const ABron: Bron);
function Bron_Specified(Index: Integer): boolean;
published
property Bron: Bron Index (IS_ATTR or IS_OPTN) read FBron write SetBron stored Bron_Specified;
end;
ご覧のとおり、Bedrag 型の基になる値については言及されていませんが、wsdl インポートによって生成された .pas ファイルの上部にあるヘッダーは、正しい xsd が解析されたことを示しています。Delphi で BedragExtended 型を正しく生成するにはどうすればよいですか?