![]() |
SOAP HTTPRIO asynchroner Methodenaufruf
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 |
AW: SOAP HTTPRIO asynchroner Methodenaufruf
Hallo,
ich habe gerade das gleiche Problem (mit Delphi 2006), mein nicht funktionierender Ansatz den ich im Web gefunden habe ist der hier:
Code:
Es gibt wohl einen Windows Bug durch den sich der Timeout nicht setzen lässt.
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; Bist du vielleicht schon weiter? |
AW: SOAP HTTPRIO asynchroner Methodenaufruf
Was nennst Du viel?
1KB 1MB 1GB Ich übertrage von kleinen Request bis hin zu einem kompletten Datenbackupdate ohne Probleme... Mavarik |
AW: SOAP HTTPRIO asynchroner Methodenaufruf
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. ![]() Welches Delphi nutzt du und wie hast du den Timout geändert? |
AW: SOAP HTTPRIO asynchroner Methodenaufruf
Ich nehme Delphi 2007...
Habe es NIE gebraucht den Timeout zu verändern und übertrage durchaus größere Datenmengen... Mavarik |
AW: SOAP HTTPRIO asynchroner Methodenaufruf
Du Glücklicher :?
|
AW: SOAP HTTPRIO asynchroner Methodenaufruf
Zitat:
Ich denke Dein Problem liegt ganz wo anders... Mavarik |
AW: SOAP HTTPRIO asynchroner Methodenaufruf
Naja, die Testfunktion vom Webservice in der keien Datei übertreg wird funktioniert und der Entwickler von Ihm sagt bei ihm dauert es etwas 20 Sekunden.
Die Fehlermeldung ist eigentlich auch recht eindeutig:
Code:
Vielleicht liegt es am HTTPS, wobei ich mir das eigentlich nicht vorstellen kann.
Erste Gelegenheit für Exception bei $7C812AEB. Exception-Klasse ESOAPHTTPException mit Meldung 'The operation timed out - URL:https://**zensiert***.asmx - SOAPAction:http://tempuri.org/RechnungsAnfrage'. Prozess ConnectProject.exe (10480)
|
AW: SOAP HTTPRIO asynchroner Methodenaufruf
OK https hab ich nocht nicht versucht...
Zeig mal Deinen Remoteable Record Mavarik |
AW: SOAP HTTPRIO asynchroner Methodenaufruf
Sry, aber was ist ein Remoteable Record?
Meinst du die XML die versand wird? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:34 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