Autor Beitrag
mcbain
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 60
Erhaltene Danke: 1



BeitragVerfasst: Mi 19.10.11 15:40 
Hallo,
ich nutze Delphi2010 um einen Webservice zu konsumieren. Das funktioniert auch prinzipiell. Ich schicke XML und bekomme XML zurück.
Die aufgerufene Funktion aus der wsdl erzeugten Proxyklasse liefert ein Array of MeinObject zurück. Manche Attribute von MeinObject werden belegt.

Ein MeinObject hat wiederum ein Array of MeinObject2 als Attribut. Das Problem ist nun, dass ich festgestellt habe, dass das Array of MeinObject2 von Delphi nicht belegt wird, obwohl es im XML-Response-String definitiv enthalten ist. Die Objekte MeinObject und MeinObject2 wurden als Klassen erstellt.

Und ich weiß jetzt halt leider nicht wie ich ansetzen muss, um herauszufinden, warum es nicht belegt wird.

Woher weiß nun Delphi wann welches Element wo im XML-Response steht?
Dies wäre ja eigentlich nur über den initialization-Abschnitt möglich oder?

Der initialization-Abschnitt sieht folgendermaßen aus:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
InvRegistry.RegisterInterface(TypeInfo(xxx), 'http://xxx_0.yyy.xxx.de''UTF-8');
InvRegistry.RegisterAllSOAPActions(TypeInfo(xxx), '|http://xxx_0.yyy.xxx.de/xxx|http://xxx_0.yyy.xxx.de/xxx');
InvRegistry.RegisterExternalParamName(TypeInfo(xx), 'xx''in_''in');
RemClassRegistry.RegisterXSInfo(TypeInfo(xx), 'http://xxx_0.yyy.xxx.de''yyyyy');
RemClassRegistry.RegisterXSClass(xx, 'http://xxx_0.yyy.xxx.de''yyyy');
...


Wäre nett, wenn mir bitte jemand weiterhelfen könnte.
Vielen Dank.