Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi XML Anfänge (https://www.delphipraxis.net/90867-xml-anfaenge.html)

renekr 25. Apr 2007 05:53


XML Anfänge
 
Hi,
Ich bin soeben dabe ieiniges in XML zu testen.

Ich will eine XML Datei welche ich per Webservice bekomme einlesen.

Welche Möglichkeiten hab ich dazu?

Die Daten von dem Webservice im XML Format muss ich in eine Tabelle von einem SQL Server einfügen.


Kann mir da jemand einige gute Tipps geben wie ich das am Besten lösen kann?

Mus ich die MS XML Libary einbinden oder gibt es da auch in D2006 andere Möglichkeiten ?

Ist es möglich die XML Datei von dem Webservice in ein Dataset zu laden ? oder muss ich die Node für Node durchlaufen.


Vielen Dank.

Jelly 25. Apr 2007 06:37

Re: XML Anfänge
 
Kuck dir mal den Webserviceimport von Delphi an. Ich weiss jetzt nicht sicher, ob der mit ganzen Datasets klarkommt (unter .NET schon), aber das würd die Sache wesentlich erleichtern. (Datei->Neu->Weitere->Webservices->WSDL-Importer
Der liest das Webservice Schema aus und legt dir eine Delphi Unit dafür an.

renekr 25. Apr 2007 10:20

Re: XML Anfänge
 
Hi,
also ich habe mal einen ansatz gefunden :

Webservices with D7


Leider habe ich Probleme mit dem Imprt von meinem WebService .

Delphi-Quellcode:
 GetDataResult = class(TRemotable)
  private
    Fschema: WideString;
  published
    property schema: WideString read Fschema write Fschema;
  end;


  // ************************************************************************ //
  // Namespace : [url]http://pdes.harmanbecker.com/[/url]
  // soapAction: [url]http://pdes.harmanbecker.com/GetData[/url]
  // Transport : [url]http://schemas.xmlsoap.org/soap/http[/url]
  // Bindung  : ServiceSoap
  // Service  : Service
  // Port     : ServiceSoap
  // URL      : [url]http://oekawspp01:8088/service.asmx[/url]
  // ************************************************************************ //
  ServiceSoap = interface(IInvokable)
  ['{E5044D0D-1CF9-FF49-73F9-4FE47DF700E3}']
    function GetData(const sSQL: WideString; const iLocation: Integer; const iDatabaseType: Integer): GetDataResult; stdcall;
  end;
Das GetData rufe ich auf und bekomme ein GetDataResult zurück,leider nur Als String udn der Zeigt mir nur das Schema von dem Webservice.

Hat jemand ne IdeE?
Laut Google hat Delphi ab und zu Probleme mit dem Import des 'Webservices und bei Komplexeren Rückgabe Werten.

Danke

Keldorn 25. Apr 2007 18:01

Re: XML Anfänge
 
Hallo

ich plage mich auch grade mit Webservices rum: der hier sollte aber gehen. Probleme mit complextypes bekommst du insbesondere, wenn noch ein "unbounded array" mit im Spiel ist.

Es gibt Patches, die über die z.B. über die Borland newsgroups verteilt werden, damit gings bei mir. Ich hab momentan nur ein Problem mit einem namespace im erzeugten xml, da weiß ich noch nicht warum. Ich kann dir das auch schicken, wenn du mir deine Email per PN schickst.

Wie sieht dein Aufruf genau aus?

Ansonten würde ich dir empfehlen, erstmal mit einen einfachen webservice wie z.B. global weather von http://www.webservicex.net zu probieren, die gehen auf alle Fälle. Lediglich als Rückgabe liefern die meisten einen xml-string den du selber durcharbeiten mußt. Auf http://www.xmethods.net/ gibts auch noch welche.

Wenn der Webservice gar nicht läuft, auch mal die Trial von mindreef soapscope probieren, geniales Teil und hat mir sehr geholfen meinen Fehler zu finden. Wenn du bei xmethods unter "try it" guggst, so funktionierts das soapscope. Ich habe mir dazu noch ein Tool wie z.B. Fiddler installiert, damit ich sehe, was übertragen wird, hilft sehr bei der Fehlersuche.

Mfg Frank

renekr 25. Apr 2007 18:48

Re: XML Anfänge
 
Hi,
danke schön,aber nach ner Weile hab i es hinbekommen.

Ich habe mich fast an diesem Super Beispiel orientiert.

Das war echt Hilfreich.
Webservice


Nun läuft er und ich habe als Result ein ClientDataSet ,also alles was ich mir gewünscht habe um die Connectivität zum SQL 2005 so einfach wie mäglich zu Handeln.

Danke schön.

PS: Kennt Ihr gute Informative WebServices?
Zb.: Mit Finanz Infos,Nachrichten usw.
Danke


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz