【问题标题】:SoapFault exception: [HTTP] Error Fetching http headers issue on working codesSoapFault 异常:[HTTP] Error Fetching http headers on working codes
【发布时间】:2016-01-05 15:18:35
【问题描述】:

一开始的错误如下:

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

我的代码运行良好,但几天前出现了错误。

我在谷歌上尝试了所有的东西,就是这样:

  1. INI 设置: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 保护。你无法得到它。

【问题讨论】:

  • 这个问题自然解决了:S Thx,all!

标签: php web-services soap soap-client


【解决方案1】:

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

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

我以前的解决方法使用了与上述类似的技术,增加了 都超时到 600 并且不与 keep_alive 或 soap_version 混淆。

【讨论】:

    猜你喜欢
    • 2018-07-07
    • 1970-01-01
    • 1970-01-01
    • 2011-06-17
    • 1970-01-01
    • 1970-01-01
    • 2012-09-15
    • 1970-01-01
    • 2010-10-29
    相关资源
    最近更新 更多