Наша сетевая команда изменила наш публичный IP вчера вечером, теперь мой WCF больше не доступен через мой php-код. Я звоню wcf через имя, а не через IP.
Я проверил, используя тестовую консоль C # (как внутри, так и вне сети), и она все еще там работает нормально. Так что я думаю, что, возможно, сервер php (размещенный в Rackspace) кэшировал старый IP?
Этот код ранее работал нормально в коде php. Как только это возвращается, я вызываю веб-метод.
return new SoapClient("http://x.y.com:8082/z.svc?wsdl", array('cache_wsdl' => WSDL_CACHE_NONE));
Ошибка, возвращаемая из веб-метода:
Страница не смогла загрузить SOAP-ERROR: парсинг WSDL: не удалось загрузить из ‘http://x.y.com:8082/z.svc?wsdl‘: не удалось загрузить внешнюю сущность «http://x.y.com:8082/z.svc?wsdl»
РЕДАКТИРОВАТЬ: настройка не моя проблема. Если я объясню IP-адрес, а не запись A, я получу доступ. Кажется, проблема с кешем на сервере Rackspace, где находится код php.
Задача ещё не решена.
Других решений пока нет …