AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Daten von einem offenen WebService abholen - Wie?
Thema durchsuchen
Ansicht
Themen-Optionen

Daten von einem offenen WebService abholen - Wie?

Offene Frage von "torud"
Ein Thema von torud · begonnen am 24. Aug 2009 · letzter Beitrag vom 28. Aug 2009
 
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#17

Re: Daten von einem offenen WebService abholen - Wie?

  Alt 28. Aug 2009, 20:31
1. Ich denke, daß Du die wsdl nicht korrekt mit dem neuen importer importiert hast. die müßte für meine Begriffe anders aussehen (siehe Anhang), bzw probiere die mal.
ganz oben, wo Importieren steht, ist mit REV die Version von Importer angegeben, mit D2007: (27.08.2009 21:52:07 - - $Rev: 7300 $).
Stelle wirklich nochmal sicher, daß das korrekt importiert ist und das du die neuen Soapunits verwendest (müßtest Du ja sehen, wo der Debugger bei der exception hinspringt)

2. Ansonsten, wenn es immer noch nicht geht: da sind wir nun am den Punkt an dem ich nicht weiter weiß. Genau vor dem Problem mit dem Namespaces stehe ich auch, aber ich habe keine Ahnung davon . Wenn jemand erklären könnte, warum das so erstellt wird oder für was das gut sein soll, wäre ich auch sehr dankbar.

Siehst du die unterschiede in den beiden Soaprequest´s ?
bei dir steht immer NS1 davor und auch das xsi:type steht bei mir nicht da.
Ich habe keine Ahnung, wie man Delphi dazu bringen kann, das nicht zu tun. Das einzige, was mir damals dazu eingefallen ist, den Soaprequest einfach zu ändern.
Wenn Du das onbeforeexecute wie folgt änderst und aus dem soaprequest das rauslöschst, was so (vielleicht) nicht hingehört :
Delphi-Quellcode:
procedure TForm1.HTTPRIO1BeforeExecute(const MethodName: string;
  var SOAPRequest: WideString);
Var sl:Tstringlist;
begin
  sl:=TStringList.Create;
  try
    //einfach das löschen, was zu viel ist
    SOAPRequest:=StringReplace(SOAPRequest,'xsi:type="xsd:int"','',[rfReplaceAll,rfIgnoreCase]);
    SOAPRequest:=StringReplace(SOAPRequest,'xsi:type="xsd:string"','',[rfReplaceAll,rfIgnoreCase]);
    SOAPRequest:=StringReplace(SOAPRequest,'NS1:','',[rfReplaceAll,rfIgnoreCase]);
    SOAPRequest:=StringReplace(SOAPRequest,':NS1','',[rfReplaceAll,rfIgnoreCase]);

    sl.text:=soaprequest;
    sl.SaveToFile('D:\Soaprequest1.xml');
  finally
    sl.free;
  end;
end;
geht es (mit deinem quelltext und deiner sportsdata.pas) aber mit D2007. Ohne die Änderung erhalte ich das gleiche Ergebnis und den gleichen Fehler wie Du. die stringlist ist ja nur zum debuggen, damit du einfach siehst, was wirklich übertragen wird.
Ich habe mir damals mit Programmen wie soapscope oder soapui beholfen, um zu sehen, was andere Progs übertragen und das dann umgesetzt.

Gruß Frank
Angehängte Dateien
Dateityp: pas sportsdata_539.pas (30,5 KB, 11x aufgerufen)

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:38 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