Переделан для повторной установки новой информации.PHP не может получить доступ к WSDL-файлу с помощью SoapClient или file_get_contents
Я пытаюсь получить доступ к API SOAP через PHP. Приложение с API расположено в моей корпоративной сети, а WS отображается на порту 8080.
Я могу получить доступ к файлу WSDL на http://network-machine.local:8080/service?wsdl в моем браузере (он загружается очень быстро). Тем не менее, следующие фрагменты кода просто привести к фатальной ошибке максимального времени выполнения превышена:
new SoapClient('http://network-machine.local:8080/service?wsdl');
file_get_contents('http://network-machine.local:8080/service?wsdl');
PHP может получить доступ к другим удаленным сервисам (включая WSDL).
Если я сохраню файл wsdl (и его импортированные файлы) на свой локальный компьютер и обновил ссылки, PHP может получить доступ к услугам API просто. Он просто не может втянуть WSDL.
Итак, я предполагаю, что это какая-то проблема с сетью/брандмауэром. Есть идеи?
Редактировать с дополнительной информацией:
Curl работает просто отлично. С помощью cURL я могу получить общий размер файла WSDL. Когда я использую этот размер как параметр MAXLENGTH для file_get_contents, эта функция также работает нормально.
у меня нет какого-либо вопроса загрузки локального файла WSDL. – gazareth