У меня возникают серьезные проблемы с попыткой загрузить этот url в моем коде. Когда я перехожу на фактическую страницу в браузере, она загружается отлично, но когда я разбираю ее, в основном предоставляя 404, я пробовал это с помощью мыльного клиента и зависания, возможно, что я делаю что-то неправильно.
Это мой код, вы можете видеть его основные принципы.
$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, и я просто сильно зациклен на том, что делать.
Простая проблема, которая дала мне головные боли! Откройте файл php.ini в каталоге сервера apache и раскомментируйте (включите) extension=php_openssl.dll
строки extension=php_openssl.dll
.
Это исправить мою проблему.
Даже если вы проверили, это ничего, кроме проблемы с конфигурацией openssl (используется в SoapClient, но все же)
Попробуйте file_get_contents($wsdl_url);
Также проверьте текущие загруженные php.ini и поддерживаемые потоки (php.ini может отличаться от CLI для веб-SAPI)
php -r "phpinfo();" > file.txt
Mine: Зарегистрированные PHP-потоки => php, файл, glob, data, http, ftp, zip, compress.zlib, compress.bzip2, https, ftps, phar
Зарегистрированный поток Socket Transports => tcp, udp, ssl, sslv3, sslv2, tls (ваш пример кода работает на моем компьютере: p)
активируйте расширение = php_openssl.dll в php.ini. Перезапустите сервер.