Vix*_*xed 4 php soap helper soap-client
我创建了以下辅助函数:
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
]
]);
]);
}
Run Code Online (Sandbox Code Playgroud)
我正在使用它 $result=mainSoap()->GetSometing($parameters);
一切正常,但就性能而言,我想知道关闭肥皂连接是否更好。
更新
我创建了另一个函数以便在收到响应后关闭连接,但是我仍然找不到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;
}
Run Code Online (Sandbox Code Playgroud)
我正在使用它 $result=mainSoap('GetSometing',[$parameters]);
在SoapClient遵循正常的HTTP请求的生命周期,
也就是说,您不会保持与服务器的恒定连接,它只会在被调用时连接并接收数据,类似于请求完成后浏览器不维持与服务器的连接,因为请求已终止,除非您设置为true。SoapClient keep_alive
简而言之,您不能“关闭” a,SoapClient因为调用它后没有东西可以关闭,因为它已经关闭了连接。
相关链接: