我创建了以下辅助函数:
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
我创建了另一个函数,以便在获得响应后关闭连接,但我仍然找不到SoapClient的close方法.
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]);
解决方法:
SoapClient
遵循正常的HTTP请求生命周期,
也就是说,您的SoapClient
不会保持与服务器的持续连接,它只会在调用时连接并接收数据,类似于您的浏览器在请求完成后不保持与服务器的连接的方式,因为请求是终止,除非你将keep_alive设置为true.
所以,简而言之,你不能“关闭”SoapClient
,因为在你调用它之后没有什么可以关闭的,它已经关闭了连接.
相关链接:
> Wikipedia article on Http (Persistent Connections Section)
> MDN Documentation on Keep-Alive
header
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。