Hallo Liebe Delphigemeinde,
ich habe eine
wsdl- Datei erhalten, für welche ein Client implementiert werden soll.
Ich habe derzeit keinen Zugriff auf den Server, welcher das dann tatsächlich ausführen soll, deshalb kann ich nicht "real" testen, sondern nur mit meinem eigens implementierten Server.
Die Implementierung der Schnittstelle ist soweit auch abgeschlossen, ich habe jedoch ein Problem mit einem Datentyp.
Delphi-Quellcode:
IMEINInterface = interface(IInvokable)
['{C02AF8D7-960D-49A0-BCDE-BCB2EF73E8AC}']
function MeineMethode(const Abfrage: TAbfrage): TAntwort; stdcall;
end;
Soweit alles in Ordnung.
Jetzt habe ich aber das Problem, dass in den Klassen TAbfrage und TAntwort jeweils ein property vom Typ TWerte enthalten ist. Die Propertys von TWerte unterscheiden sich aber gänzlich. Mir ist klar, dass ich bei der Registrierung der
WSDL-Typen Umbenennungen vornehmen kann. Dennoch müßte dann ja z.B. sowas gemacht werden.
Delphi-Quellcode:
initialization
...
RemClassRegistry.RegisterXSClass(TWerteAbfrage, 'urn:IMEINInterfaceServiceIntf', 'TWerteAbfrage', 'TWerte');
RemClassRegistry.RegisterXSClass(TWerteAntwort, 'urn:IMEINInterfaceServiceIntf', 'TWerteAntwort', 'TWerte');
...
end.
So kann ich zwar innerhalb Delphi's die Definitionen trennen aber schafft RegisterXSClass tatsächlich die Verlinkung auf das Richtige Unterelment?
Vielen Dank und Gruß,
Daniel