Я работаю над веб-сервисом с использованием SoapServer в PHP. Раньше я делал еще один веб-сервис, используя точно такую же технику. Мой новый проект находится на одном сервере, но в другом подкаталоге. В URL-адресе службы и soapserver указан номер версии. Это мой путь SoapServer создан в PHP:PHP SoapServer ampersand закодирован
$server = new SoapServer("https://".DOMAIN."/webservice/index.php?v=1.0.0&wsdl=1");
$server->setClass('SoapHandler');
$server->handle();
Весь PHP страница одно и то же в моем примере Soap Service, только URL-адрес отличается конечно. Когда я делаю вызов к WebService с SoapUI, возвращается следующее сообщение об ошибке:
SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://myurl.com/webservice/index.php?v=1.0.0&wsdl=1' : failed to load external entity "https://myurl.com/webservice/index.php?v=1.0.0&wsdl=1"
Как вы можете видеть, амперсанд заменяется &
. Я попытался изменить кодировку на UTF-8, это тоже не сработает.
Кто может мне помочь?
Другой веб-сервис находится в том же домене (и, следовательно, на веб-сервере), и это действительно работает. Поэтому я предполагаю, что настройки моего веб-сервера в порядке? – harmjanr
Вы можете проверить это с помощью phpinfo. SSL в Apache - это другое дело, поскольку php openssl жаль, что я обновил свой ответ. Вы должны включить свой openssl в файле php.ini. – Stony
SSL включен, я проверил его с помощью phpinfo. Но SSL настроен для всего сервера в php.ini, а другой сервис Soap на том же сервере работает. – harmjanr