简体   繁体   English

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

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

At first the errors following: 首先出现以下错误:

Fatal error: Uncaught SoapFault exception: [HTTP] Error Fetching http headers in /var/www/me/public_html/soap.php:62 Stack trace: #0 [internal function]: 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} thrown in /var/www/me/public_html/soap.php on line 62 致命错误:未捕获的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中

My codes were working perfect but a few days ago getting that errors. 我的代码运行正常,但几天前收到了该错误。

I tried all things on Google and SO thats: 我在Google上尝试了所有方法,因此:

  1. INI SET: ini_set('default_socket_timeout', 100); 初始设置: ini_set('default_socket_timeout', 100);
  2. SOAP initialize options: 'connection_timeout' => '100' SOAP初始化选项: 'connection_timeout' => '100'
  3. SOAP initialize options: 'keep_alive' => false SOAP初始化选项: 'keep_alive' => false
  4. PHP Version 5.4 to 5.6 upgrade. PHP版本5.45.6升级。

My tried codes: 我试过的代码:

$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);

I can get all types with: 我可以通过以下方式获得所有类型:

$client->__getTypes(); // works

But i cant login: 但我无法登录:

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

Note: WSDL url is IP protected. 注意:WSDL URL受IP保护。 You cant get it. 你不能得到它。

We are experiencing this on multiple (CentOS, Linux, Windows 7, Windows 8) platforms through the unsupported but Salesforce-supplied SOAP interface library, from both Utah and Oregon. 我们正在犹他州和俄勒冈州通过不受支持但由Salesforce提供的SOAP接口库在多个(CentOS,Linux,Windows 7,Windows 8)平台上遇到这种情况。

We therefore strongly suspect it is a Salesforce problem. 因此,我们强烈怀疑这是Salesforce问题。

My previous workarounds have used similar techniques as that above, increasing both timeouts to 600 and NOT messing with keep_alive or soap_version . 我以前的变通办法使用了与上述类似的技术,将两个超时都增加到600,并且不弄乱keep_alive或soap_version。

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

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