Einzelnen Beitrag anzeigen

moe120

Registriert seit: 1. Okt 2012
Ort: Radeberg
34 Beiträge
 
Delphi XE6 Enterprise
 
#1

SOAP Webservice, erster Funktionsaufruf dauert ewig

  Alt 8. Mai 2014, 17:17
Ahoi,

habe einen kleinen SOAP Webservice der an mobile Endgeräte dies und das aus einer Datenbank rausziehen soll je nach Berechtigung. Das an sich klappt wie gewünscht, SOAP Webservice und iPhone-App sind mit XE6 gebaut. Der Import der WSDL klappt auch.

Mein Problem ist nun jedoch, dass die erste Funktion des Webservice die ich vom mobilen Client aus aufrufe 5x so lange braucht wie alle weiteren Aufrufe, also in konkreten Zeiten: 1. Funktionsaufruf = 3000ms, 2. u. weitere Funktionsaufrufe = 600ms.

Jemand sowas schonmal gehabt ?
Es liegt auch nicht an der Funktion, es ist egal welche ich als erstes aufrufe, die erste aufgerufene braucht 3 Sekunden, die 2. dann nur noch 0,6s.

Code-technisch mach ich das im Client in etwa so:

Code:
function get_webservice(url: String; use_ssl: Boolean): Ivp_mobile_webservice;
var tp_prefix: String;
begin

  if use_ssl
  then tp_prefix:= 'https://'
  else tp_prefix:= 'http://';

  if (AnsiPos('http://', AnsiLowerCase(url))<>1)
  and (AnsiPos('https://', AnsiLowerCase(url))<>1)
  then url:= tp_prefix + url;

  Result:= getIvp_mobile_webservice(true, Url + '/wsdl/Ivp_mobile_webservice');

end;


mein_webservice:= get_webservice(url, ssl_ja_nein);

//1. Aufruf, dauert 3 Sekunden
x:= mein_webservice.gib_mir_5();

//2. Aufruf, dauert 0,6Sekunden
x:= mein_webservice.gib_mir_5();

mit SOAPUI kann ich das Problem nicht nachstellen, da dauern alle Aufrufe, auch der 1. nur um die 100ms (über LAN statt 3G + Firewall).
  Mit Zitat antworten Zitat