Думаю у многих, кто сталкивался с разработкой вебсервисов с описанием их через WSDL файлы, возникала проблема, когда при переносе с dev-сервера на prod-сервер приходилось менять путь к расположению веб-сервера, к примеру:
<soap:address xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" location="http://localhost/soapServer.php"/>
или, скажем, когда урл сервера используется в качестве namaspace, и хочется, чтобы на прод-сервере фигурирувал именно его урл, а не какой-нибудь localhost.
При переносе между серверами частенько забывается поменять упомянутые выше параметры wsdl файла и бывает так, что веб-сервис не хочет работать, пока об этом не вспомнишь.
Во избежание таких ситуаций можно предложить простой, и довольно очевидный метод — использование РНР для генерации адреса сервера!
Т.е. мы отдаем клиенту не WSDL в чистом виде, а результат, полученый после обработки его РНР интерпретатором. Тогда мы можем использовать РНР функции и встроенные переменные, в частности переменную $_SERVER, которая позволит нам получить необходимую информацию.
Т.о., мы сможем написать путь к местоположению сервера как
<soap:address xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" location="http://' . $_SERVER['SERVER_NAME'] . '/soapServer.php"/>
Вот и вся магия! Возможно, данная заметка кому-то будет полезной.