使用PHP调用SOAP服务时遇到一些问题。 该URL是正确的,以测试是否将客户端的方法称为“ __getFunctions()”和“ __getTypes()”,然后查看我的工作方式。 但是,当我调用所需的函数(“ GetClubList_TANTOSVAGO”传递令牌字符串)时,响应为“无法连接至主机”。
我在同一台服务器上的另一个网站中使用SOAP客户端,但我没有遇到任何问题。 PHP版本是7.2.9。
try {
ini_set('soap.wsdl_cache_enabled', 0);
ini_set('soap.wsdl_cache_ttl', 0);
$url = "https://testint.virginactive.it/Gamma_api.asmx?wsdl";
$context = stream_context_create(array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
));
$opt = array(
'stream_context' => $context,
"authentication" => SOAP_AUTHENTICATION_BASIC,
"trace" => true,
"exceptions" => 1,
"cache_wsdl" => WSDL_CACHE_NONE,
"connection_timeout" => 30
);
$client = new SoapClient($url, $opt);
fwrite($fileLog, date('Y-m-d H:i:s') . ' - SOAP Functions ' . json_encode($client->__getFunctions()) . PHP_EOL);
fwrite($fileLog, date('Y-m-d H:i:s') . ' - SOAP Types ' . json_encode($client->__getTypes()) . PHP_EOL);
$response = $client->GetClubList_TANTOSVAGO("123456789");
} catch (SoapFault $e) {
fwrite($fileLog, date('Y-m-d H:i:s') . ' - Error' . $e->getMessage() . PHP_EOL);
}