Я создал следующую вспомогательную функцию:
function mainSoap(){
return new SoapClient('https://soap.url',[
'stream_context' => stream_context_create([
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
]
]);
]);
}
и я использую его как $result=mainSoap()->GetSometing($parameters);
Все отлично работает , но с точки зрения производительности хотелось бы узнать, лучше ли закрыть мыльную связь или нет.
UPDATE
Я создал другую функцию, чтобы закрыть соединение после получения ответа, но я все еще не смог найти метод close для SoapClient.
function mainSoap(string $call=null, array $vars=[]){
$url="https://soap.url";
$wsdl=new SoapClient($url,[
'trace' => false,
'keep_alive' => false,
'stream_context' => stream_context_create([
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
]
]),
'compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP | SOAP_COMPRESSION_DEFLATE
]);
$response=$wsdl->__soapCall($call,$vars);
//Looking for something like $wsdl->close();
return $response;
}
и я использую его как $result=mainSoap('GetSometing',[$parameters]);