WSDL problem PHP gdy nie ma dns


(pain3hp) #1

Potrzebuję już korzystać z WSDL kiedy jeszcze domena jest nieskierowana na IP. Mam ją skierowaną w /etc/hosts ale kiedy odpalę z konsoli skrypt php to on nie widzi dokumentu WSDL. Dodam, że uruchomienie linka na WSDL w przeglądarce działa poprawnie, jest widoczny XML.

Ktoś może ma pomysł czemu to może nie działać?


(Konrad Kosowski) #2

Serwer www (ewentualnie cli) jest na pewno na tym samym serwerze, co przeglądarka i hosts?


(pain3hp) #3

serwer www na którym stoi WebAPI jest na serwerze na zewnątrz… Domena do której należy się odwołać jest niepodpięta do tego serwera więc host jest nadpisany w pliku hosts w moim przypadku /etc/hosts…

Co ciekawe,

  • ping na host jest pingiem na ip z pliku hosts - więc jest OK.

  • sprawdzenie hosta funkcją php gethostbyname() również php oddaje IP z pliku hosts - jest OK

  • wywołanie adresu gdzie jest WSDL jest poprawne, zwracany jest XML, czyli również jest poprawnie zaciągnięty adres IP serwera z pliku hosts

natomiast odwołanie się przez SoapClienta do api wskazując adres WSDLa już zwraca błąd, że nie ma pod tym adresem wsdl. To jest oczywiście pracując na hoście lokalnym.

widzę, dwie możliwości, na które nie mam wpływu ani rozwiązania:

1/ SoapClient ignoruje plik hosts

2/ API jest jakoś zabezpieczone przed takim oszukiwaniem IP