0

我在尝试将此 url 加载到我的代码中时遇到了严重的问题。当我转到浏览器中的实际页面时,它加载得很好,但是当我解析它时,它基本上给出了 404,我已经使用肥皂客户端尝试过这个,并且 curl 认为好吧,也许我做错了什么。

这是我的代码,你可以看到它的基本知识。

$customerId = 'xxxx';
$authenticationId = 'xxxx';
$url = 'https://test.api.800loanmart.com/LoanmartService.svc?wsdl';
$config = array('trace' => 1, 'exceptions' => 0);

$service = new SoapClient($url,$config);
$result = $service->GetTermsAndConditions($customerId, $authenticationId);
var_dump($service);

这就是它向我扔回的东西......

Warning: SoapClient::SoapClient() [soapclient.soapclient]: Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in C:\xampp\htdocs\loanmart\index.php on line 6

Warning: SoapClient::SoapClient() [soapclient.soapclient]: I/O warning : failed to load external entity "https://test.api.800loanmart.com/LoanmartService.svc?wsdl" in C:\xampp\htdocs\loanmart\index.php on line 6

Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://test.api.800loanmart.com/LoanmartService.svc?wsdl' : failed to load external entity "https://test.api.800loanmart.com/LoanmartService.svc?wsdl" in C:\xampp\htdocs\loanmart\index.php on line 6

我已经检查过我是否有 openssl 并且它在我的 php.ini 文件中打开了,我只是很困惑该怎么做。

4

3 回答 3

2

让我头疼的简单问题!在 apache 服务器目录中打开 php.ini 文件并取消注释(启用)该行extension=php_openssl.dll

这解决了我的问题。

于 2014-06-23T09:00:46.850 回答
1

即使您确实检查过,这也不过是一个 openssl 配置问题(在 SoapClient 中使用,但仍然如此)

尝试file_get_contents($wsdl_url);

此外,检查您当前加载的 php.ini 和支持的流(php.ini 可能从 CLI 到 Web SAPI 不同)

php -r "phpinfo();" > file.txt

我的:注册的 PHP 流 => php、文件、glob、数据、http、ftp、zip、compress.zlib、compress.bzip2、https、ftps、phar
注册的流套接字传输 => tcp、udp、ssl、sslv3、sslv2、 tls(您的代码示例适用于我的计算机:p)

于 2012-09-24T22:42:16.847 回答
0

在 php.ini 中激活 extension=php_openssl.dll。重启服务器。

于 2016-04-30T11:49:18.723 回答