我正在尝试通过PHP调用ASMX Web服务功能。第一次尝试通话会花费很多时间。然后,在随后的尝试中,它非常快。 如果我通过服务器上的浏览器手动调用ASMX Web服务功能,则花费的时间与通过PHP进行花费的时间不相关。这使我怀疑我调用Web服务的代码或服务器上PHP的配置有问题。
以下是通过PHP调用Web服务功能的示例代码:
<?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);
?>
似乎只有同一台Windows 2012服务器上运行PHP应用程序和ASMX Web服务的客户端中会发生此行为。 关于为什么它需要很长的时间而不是通过PHP花费很多时间的任何想法?