Thema: Delphi Generic List über SOAP

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.167 Beiträge
 
Delphi 12 Athens
 
#4

Re: Generic List über SOAP

  Alt 21. Apr 2010, 09:27
Mal ganz ehrlich ...

SOAP ist in der Hinsicht ein bissl "schrottig", da es die XML-Datei "selber" aus Strings und nicht über eine (ordentliche) XML-Lib zusammenbaut.
Das Auslesen geschieht aber dennoch über einen XML-Parser, welcher dann über die ungültige XML-Datei rummotzt und den Dienst verweigert.
(XML-Parser sollen, laut Spezifikation, bei sowas den Vorgang abbrechen ... ein Reparaturmodus, so wie bei einem HTML-Parser, ist nicht vorgesehn)


Tja, das Einzige was du da machen könntest wäre warten, bis Emba auf eine QC-Meldung (solltest besser mal Eine einreichen) reagiert, aber das kann Jahre dauern, falls überhaupt was passiert.
(wie man sieht http://www.delphipraxis.net/internal...146020#1146020 )

Ansonsten blieben dir nur 2 Möglichkeiten:
- auf Generics verzichten
- oder alle Stellen in den vielen SOAP-Units suchen und diese Konvertierung selber einbauen,
aka versuchen die Delphi-QuellCodes zu ändern und danach die abhängigen Units, inkl. der Packages, neu zu kompilieren.


[add]
Falls du das SOAP dazu bringen könnest, daß es die Vorfahren deines Types nicht mit auflistet, dann könntest du den generischen Typen zumindestens kapseln und somit die bösen < und > nicht in der XML-Datei auftauchen lassen.
Delphi-Quellcode:
type TMyList = class(TList<string>) end;

function TJamSOAPWebService.GenericList(const Value: TMyList): TMyList; stdcall;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat