AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi SOAP HTTPRIO asynchroner Methodenaufruf

SOAP HTTPRIO asynchroner Methodenaufruf

Ein Thema von gmc616 · begonnen am 15. Jun 2010 · letzter Beitrag vom 14. Sep 2012
Antwort Antwort
gmc616

Registriert seit: 25. Jun 2004
Ort: Jena
627 Beiträge
 
Delphi 10.3 Rio
 
#1

SOAP HTTPRIO asynchroner Methodenaufruf

  Alt 15. Jun 2010, 13:14
Hallo DP,

Ich möchte einen WebService abfragen.
Aus der WSDL-Datei habe ich mittels Delphi WSDL-Importer eine Klasse erzeugt und frage das ganze per THTTPRIO ab.
Status- und Versionabfragen funktionieren problemlos.

Nur wenn ich Daten holen möchte - und das können ne ganze Menge sein - bekomme ich einen TimeOut.
In der Doku zu dem WebService steht, mal solle die Daten asynchron abrufen.
Der Beispielcode, geschrieben in C#, zeigt einen Aufruf ala AsyncValues(...) .
So eine Methode gibt es aber der WSDL-Definition nicht und auch die erzeugte Klasse besitzt keine solche Methode.

Wie kann man einen WebService asynchron abfragen?

Danke und Gruß
gmmc
  Mit Zitat antworten Zitat
Koolance

Registriert seit: 28. Feb 2006
Ort: Kerpen
74 Beiträge
 
Delphi 6 Enterprise
 
#2

AW: SOAP HTTPRIO asynchroner Methodenaufruf

  Alt 13. Sep 2012, 07:47
Hallo,
ich habe gerade das gleiche Problem (mit Delphi 2006), mein nicht funktionierender Ansatz den ich im Web gefunden habe ist der hier:

Code:
procedure TGdvConnectForm.HTTPRIO1HTTPWebNode1BeforePost(
  const HTTPReqResp: THTTPReqResp; Data: Pointer);
var timeout1,timeout2,timeout3:integer;
begin
//  HTTPReqResp.ConnectTimeout:=500000;
//  HTTPReqResp.SendTimeout:=500000;
//  HTTPReqResp.ReceiveTimeout:=500000;
  timeout1:=1000000;
  timeout2:=1000000;
  timeout3:=1000000;
  InternetSetOption(Data, INTERNET_OPTION_RECEIVE_TIMEOUT, Pointer(@timeout1), SizeOf(timeout1));
  InternetSetOption(Data, INTERNET_OPTION_CONNECT_TIMEOUT, Pointer(@timeout2), SizeOf(timeout2));
  InternetSetOption(Data, INTERNET_OPTION_SEND_TIMEOUT, Pointer(@timeout3), SizeOf(timeout3));

end;
Es gibt wohl einen Windows Bug durch den sich der Timeout nicht setzen lässt.
Bist du vielleicht schon weiter?
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.130 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: SOAP HTTPRIO asynchroner Methodenaufruf

  Alt 13. Sep 2012, 10:16
Was nennst Du viel?

1KB
1MB
1GB

Ich übertrage von kleinen Request bis hin zu einem kompletten Datenbackupdate ohne Probleme...

Mavarik
  Mit Zitat antworten Zitat
Koolance

Registriert seit: 28. Feb 2006
Ort: Kerpen
74 Beiträge
 
Delphi 6 Enterprise
 
#4

AW: SOAP HTTPRIO asynchroner Methodenaufruf

  Alt 13. Sep 2012, 10:36
Bei mir sind es PDF's wahrscheinlichh 300-500kb, allerings ist die Internetgeschwindigkeit aller Anwender nicht gerade toll (gibt glaube ich sogar noch einen mit ISDN) und ich sitze auch an einer 2mbit Lwitung fpr 50 Leut, kann das also prima testen und kriege immer weiter Timeouts

Daher brauche ich einen lange Timeout die 10 Sekunden die Standarsmäßig hinterlegt sind sind zu wenig.

Habe gerade mal probiert den Aufruf in einen Thread zu packen weil es im folgendem Link empfohlen wird, half aber auch nicht.
http://www.delphigroups.info/2/10/344289.html

Welches Delphi nutzt du und wie hast du den Timout geändert?
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.130 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: SOAP HTTPRIO asynchroner Methodenaufruf

  Alt 13. Sep 2012, 10:44
Ich nehme Delphi 2007...

Habe es NIE gebraucht den Timeout zu verändern und übertrage durchaus größere Datenmengen...

Mavarik
  Mit Zitat antworten Zitat
Koolance

Registriert seit: 28. Feb 2006
Ort: Kerpen
74 Beiträge
 
Delphi 6 Enterprise
 
#6

AW: SOAP HTTPRIO asynchroner Methodenaufruf

  Alt 13. Sep 2012, 10:45
Du Glücklicher
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.005 Beiträge
 
Delphi 2009 Professional
 
#7

AW: SOAP HTTPRIO asynchroner Methodenaufruf

  Alt 13. Sep 2012, 17:53
Nur wenn ich Daten holen möchte - und das können ne ganze Menge sein - bekomme ich einen TimeOut.
Mit diesen Tools bekommt man einige Web Service Problem leichter in den Griff

* SoapUI ('high level': Aufruf einzelner SOAP Service Methoden)
* Fiddler (auf der HTTP Protokollschicht)
* Wireshark (Datentraffic)

Wenn der SoapUI Zugriff schon NICHT funktionieren würde, kann man davo ausgehen dass das Problem nicht in Delphi liegt.
Michael Justin
  Mit Zitat antworten Zitat
Koolance

Registriert seit: 28. Feb 2006
Ort: Kerpen
74 Beiträge
 
Delphi 6 Enterprise
 
#8

AW: SOAP HTTPRIO asynchroner Methodenaufruf

  Alt 14. Sep 2012, 09:12
http://shenoyatwork.blogspot.de/2006...lphi-soap.html
Hatte ich schon probiert, wird aber komplett ignoriert. Bis jetzt kam ich mit den Delphi WS eigentlich ganz gu klar, nutze sie sogar under D6 und verwende jetzt nur 2006 weil die WS unter D6 kein HTTPS können.
  Mit Zitat antworten Zitat
Koolance

Registriert seit: 28. Feb 2006
Ort: Kerpen
74 Beiträge
 
Delphi 6 Enterprise
 
#9

AW: SOAP HTTPRIO asynchroner Methodenaufruf

  Alt 14. Sep 2012, 11:08
Delphi ist doof

Ich habe gerade herausgefunden das trotz der Timeoutmeldung im Hintergrund der Datensatz abgeschickt wird.

Jetzt lasse ich mir noch einen WS programmieren mit dem ich prüfen kann ob er angekommen ist und die Sache ist erledigt. Ist zwar keine tolle Lösung aber ich muss weiter kommen.
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 20:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz