Я пытаюсь вызвать функцию веб-службы ASMX через PHP. На первую попытку звонка уходит много времени. Тогда на последующих попытках это очень быстро.
Если я вызываю функцию веб-службы ASMX вручную через браузер на сервере, время, которое требуется, не коррелирует со временем, которое требуется для выполнения этого через PHP. Что заставляет меня подозревать, что что-то не так с кодом, который у меня есть для вызова веб-службы, или с настройкой PHP на сервере.
Вот пример кода для вызова функции веб-службы через PHP:
<?php
$parameters = new stdClass();
$parameters->user_id = "a_user_name";
$parameters->password = "a_password";
$wsdl = "http://a_server/web_service/file.asmx?wsdl";
$client = new SoapClient ($wsdl, array('cache_wsdl' => WSDL_CACHE_NONE) );
$result = $client->{$web_service}($parameters)->{"login"."Result"};
print_r($result);
?>
Такое поведение, по-видимому, происходит только с одним из моих клиентов, который запускает приложение PHP и веб-службы ASMX на одном сервере Windows 2012.
Любые идеи о том, почему это займет много времени в первый раз, а не в последующие времена через PHP?
Задача ещё не решена.
Других решений пока нет …