繁体   English   中英

SoapFault异常:[HTTP]在工作代码上获取HTTP标头时出错

[英]SoapFault exception: [HTTP] Error Fetching http headers issue on working codes

首先出现以下错误:

致命错误:未捕获的SoapFault异常:[HTTP]提取/var/www/me/public_html/soap.php:62中的HTTP标头时出错:堆栈跟踪:#0 [内部函数]:SoapClient-> __doRequest('http:// dgpysws ....','urn:login',2,0)#1 /var/www/me/public_html/soap.php(62):SoapClient-> __ call('login',Array)#2 / var / www / me / public_html / soap.php(62):SoapClient-> login(Object(stdClass))#3 {main}放在第62行的/var/www/me/public_html/soap.php中

我的代码运行正常,但几天前收到了该错误。

我在Google上尝试了所有方法,因此:

  1. 初始设置: ini_set('default_socket_timeout', 100);
  2. SOAP初始化选项: 'connection_timeout' => '100'
  3. SOAP初始化选项: 'keep_alive' => false
  4. PHP版本5.45.6升级。

我试过的代码:

$options = array(
        'trace'       => true,
        'exceptions'  => true,
        'keep_alive'  => false,
        'connection_timeout'  => 100,
        'soap_version' => SOAP_1_2
    );
$client = new SoapClient("http://dgpysws.epias.com.tr/dgpys/services/EVDServis.wsdl", $options);

$p1 = new stdCLass();
$p1->loginMessage = new stdCLass();
$p1->loginMessage->UserName = new stdCLass();
$p1->loginMessage->UserName->v = "USERNAME";
$p1->loginMessage->Password = new stdCLass();
$p1->loginMessage->Password->v = "PASSWORD";

$client->login($p1);

我可以通过以下方式获得所有类型:

$client->__getTypes(); // works

但我无法登录:

 $client->login($p1); // not works

注意:WSDL URL受IP保护。 你不能得到它。

我们正在犹他州和俄勒冈州通过不受支持但由Salesforce提供的SOAP接口库在多个(CentOS,Linux,Windows 7,Windows 8)平台上遇到这种情况。

因此,我们强烈怀疑这是Salesforce问题。

我以前的变通办法使用了与上述类似的技术,将两个超时都增加到600,并且不弄乱keep_alive或soap_version。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM