大约1。5年前,我已经与UPS(联合包裹服务公司)编写了一个集成,用于生成运输标签。我已经在1月份停止使用UPS,现在又回到了这种集成状态。
最近,我一直看到" 错误提取http标题"几乎所有我对UPS API提出的要求。他们的生产服务器通常会每隔一个请求返回此错误(但是当它发生时,它会连续执行2-3次),并且他们的开发服务器会不断地返回此错误。我的请求间隔合理(相隔至少10秒)。
该应用程序使用 PHP(v5.3.28)编写,并使用 SoapClient 与UPS' WSDL表单。
根据具有类似问题的其他人的经验,看起来它与UPS有关,不希望保持连接活着,而我的服务器由于某种原因持续存在。
到目前为止,我已尝试过:
我已经没有关于如何解决这个问题的想法,甚至在哪里继续诊断它。似乎SO上的大多数人都能够通过增加socket_timeout来解决他们的问题,但这对我没有帮助。
任何指针都表示赞赏。
//编辑
我已经弄明白了。我能够与管理员讨论升级到PHP 5.6并使用这段代码,我能够解决问题:
$client = new SoapClient("wsdl_goes_here", array(
'keep_alive' => 0,
'soap_version' => SOAP_1_1,
'trace' => 1,
'stream_context' => stream_context_create(array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false
)
))
));