看一看

如果您感到舒适,并且您的环境允许您扩展类。

它基本上扩展了

SoapClient

类,将HTTP传输替换为curl,curl可以处理超时:

class SoapClientTimeout extends SoapClient

{

private $timeout;

public function __setTimeout($timeout)

{

if (!is_int($timeout) && !is_null($timeout))

{

throw new Exception("Invalid timeout value");

}

$this->timeout = $timeout;

}

public function __doRequest($request, $location, $action, $version, $one_way = FALSE)

{

if (!$this->timeout)

{

// Call via parent because we require no timeout

$response = parent::__doRequest($request, $location, $action, $version, $one_way);

}

else

{

// Call via Curl and use the timeout

$curl = curl_init($location);

curl_setopt($curl, CURLOPT_VERBOSE, FALSE);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);

curl_setopt($curl, CURLOPT_POST, TRUE);

curl_setopt($curl, CURLOPT_POSTFIELDS, $request);

curl_setopt($curl, CURLOPT_HEADER, FALSE);

curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-Type: text/xml"));

curl_setopt($curl, CURLOPT_TIMEOUT, $this->timeout);

$response = curl_exec($curl);

if (curl_errno($curl))

{

throw new Exception(curl_error($curl));

}

curl_close($curl);

}

// Return?

if (!$one_way)

{

return ($response);

}

}

}

php soapclient 超时,PHP SoapClient超时相关推荐

  1. linux服务器调用端口超时,Linux服务器可以ping,但是telnet端口超时,网站wget超时,访问超时的解决办法...

    最近无法通过SSH连接Linux服务器,访问该服务器上的HTTP服务也出现异常.可以ping,但是telnet端口超时,网站wget超时,访问超时. 最后排查是内核配置问题 原来是 net.ipv4. ...

  2. python requests 代理超时_python requests 超时与重试

    一 源起: requests模块作为python爬虫方向的基础模块实际上在日常实际工作中也会涉及到,比如用requests向对方接口url发送POST请求进行推送数据,使用GET请求拉取数据. 但是这 ...

  3. java socket 超时_Java Socket超时浅析

    套接字或插座(socket)是一种软件形式的抽象,用于表达两台机器间一个连接的"终端".针对一个特定的连接,每台机器上都有一个"套接字",可以想象它们之间有一条 ...

  4. raft 有关竞选超时 vs 心跳超时的疑惑

    raft协议这两个超时时间是比较重要的,看着有些疑惑, 集群刚启动的时候,心跳会超时,这时候follower是直接成为candidator么?还是还要在心跳超时的基础上等待一个竞选超时才变成 cand ...

  5. python中设置超时跳过,超时退出

    python中设置超时跳过,超时退出. 在工作中遇到过 个问题 执行一条代码时间过长 而且还不报错,卡死在那.还要继续执行下面代码,如何操作. 下面是个简单的实例 pip安装 第三方eventlet这 ...

  6. 在请求网络时连接超时和读取超时的区别

    连接超时 连接超时指的是没连接上,超过指定的时间内都没有连接上,这就是连接超时. 读取超时 读取超时表示的是连接上了,但是读数据时超过了指定的时间范围,这就是读取超时.

  7. linux应用端口的网络超时,Linux服务器可以ping,但是telnet端口超时,网站wget超时,访问超时的解决办法...

    最近无法通过SSH连接Linux服务器,访问该服务器上的HTTP服务也出现异常.可以ping,但是telnet端口超时,网站wget超时,访问超时. 最后排查是内核配置问题 原来是 net.ipv4. ...

  8. tomcat服务器接口响应超时,Tomcat请求超时

    如果您试图阻止请求运行太长时间,那么在Tomcat中设置超时将无济于事.正如克里斯所说,您可以为Tomcat设置全局超时值.但是,从" Apache Tomcat连接器-通用方法超时&quo ...

  9. ffmpeg连接超时与解码超时

    ffmpeg超时时间应该有两个,连接超时时间和解码超时时间,但是现在只有一个参数,本文告诉你一种解决方案 // Set the RTSP Options     AVDictionary *opts ...

  10. hbase 租约超时及rpc超时出现的问题

    随着数据量的增大,HIVE查询HBase的时候又出现了scan数据缓慢的问题,在HBase regionserver的log中出现了如下错误: [plain] view plaincopy org.a ...

最新文章

  1. Java项目:学生管理系统(无库版)(java+打印控制台)
  2. 016_CSS选择器列表
  3. 区块链学堂(6):以太坊生产网络/测试网络/私有网络
  4. Hadoop 配置文件 启动方式
  5. 电机控制系统php,电机控制系统的未来发展变化趋势
  6. (操作系统题目题型总结)第二章:处理器管理
  7. Physical Standby Database Failover
  8. python 删除断点_给python 初学者的四条忠告,减少一些没必要的麻烦
  9. Unknown collation: #39;utf8mb4_unicode_ci#39;
  10. 学生DW网页设计作业成品——电商购物网站设计(55页) 电商网页设计制作 简单静态HTML网页作品 购物网页作业成品 学生商城网站模板
  11. MATLAB立体椭球,matlab拟合三维椭球
  12. python再计算无限循环小数的循环节
  13. C#中,想要获得我的Windows中“我的文档”,以及桌面等,文件夹的路径。
  14. 破解access密码
  15. 测试开发(社招)面经:度小满
  16. g mysql windows_Windows平台配置5.7版本+MySQL数据库服务
  17. java实现sug,Java SuggestionResult類代碼示例
  18. 被“投机之王”奉为交易核心的时间要素到底是什么?
  19. Python中“xx+=xx”与“xx=xx+xx”的区别
  20. 北航计算机学院硕士培养方案,北航硕士研究生培养方案

热门文章

  1. 金融数据获取的api接口
  2. Spring中的jar包详解
  3. Linux 常用命令学习-文件及文件夹操作相关命令-持续更新
  4. Zookeeper,Hbase 伪分布,集群搭建
  5. Android的Matrix 2
  6. VS2010与.NET4系列 13. ASP.NET 4 SEO 改进
  7. 南阳oj-----懒省事的小明(set)
  8. OpenCV-图像处理- Java(读取与显示图片)
  9. python多进程优化_python多进程提高cpu利用率
  10. python无法定位到table_selenium3 + python - table定位