一开始错误如下:
Fatal error: Uncaught SoapFault exception: [HTTP] error取回HTTP/var/www/me/public_html/soap.php:62栈跟踪:#0[内部函数]:SoapClient->__doRequest('http://dgpysws.... . net '', 'urn:login', 2,0) #1/var/www/me/public_html/soap.php (62): SoapClient -> __call("登录",/var/www/me/public_html/soap.php(62):SoapClient->login(Object(stdClass)) #3 {main}抛出/var/www/me/public_html/soap.php on line 62
我的代码工作完美,但几天前得到错误。
我在谷歌上尝试了所有的东西,所以那是:
- ini set:
ini_set('default_socket_timeout', 100);
- SOAP初始化选项:
'connection_timeout' => '100'
- SOAP初始化选项:
'keep_alive' => false
- PHP版本
5.4
到5.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);
我可以得到所有类型:
$client->__getTypes(); // works
但是无法登录:
$client->login($p1); // not works
注:WSDL url受IP保护。
我们在多个平台(CentOS, Linux, Windows 7, Windows 8)上通过不支持但salesforce提供的SOAP接口库经历了这种情况。来自犹他州和俄勒冈州。
因此我们强烈怀疑这是Salesforce的问题。
我之前的解决方法使用了与上面类似的技术,并且增加了