Сначала следует следующее:
Неустранимая ошибка: исключить исключение 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 ', Array) # 2/var/www/me/public_html/soap.php(62): SoapClient-> login (Object (stdClass)) # 3 {main} брошен в /var/www/me/public_html/soap.php в строке 62
Мои коды работали идеально, но несколько дней назад получили эти ошибки.
Я пробовал все на Google и SO:
ini_set('default_socket_timeout', 100);
'connection_timeout' => '100'
'keep_alive' => false
инициализации SOAP: 'keep_alive' => false
5.4
до 5.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
Примечание. URL WSDL защищен IP. Вы не можете это получить.
Мы переживаем это на нескольких платформах (CentOS, Linux, Windows 7, Windows 8) через неподдерживаемую, но поставляемую Salesforce библиотеку интерфейса SOAP, как из штата Юта, так и из штата Орегон.
Поэтому мы сильно подозреваем, что это проблема Salesforce.
Мои предыдущие обходные пути использовали аналогичные методы, как указано выше, увеличивая оба таймаута до 600 и НЕ возиться с keep_alive или soap_version.