@Roquefort

Как получить ответ через SOAP запрос?

Использую ZendFramework.

$client = new \Zend\Soap\Client('http://www.webservicex.com/globalweather.asmx?wsdl');

var_dump($client->call('GetCitiesByCountry',['CountryName' => 'Russian']));  // int(0)
var_dump($client->GetCitiesByCountry(['CountryName' => 'Russian'])) // int(0)

Ожидаю получить список городов, а приходит ноль.
Через SOUPUI ответ корректный. Сервак висит на виртуалке. Почему (судя по ответу getFunction) я получаю wdsl, парсер отрабатывает без ошибок, а ответа при вызове функции - нет

Вывод
var_dump($client->getFunctions())

array(4) {
  [0]=>
  string(53) "GetWeatherResponse GetWeather(GetWeather $parameters)"
  [1]=>
  string(77) "GetCitiesByCountryResponse GetCitiesByCountry(GetCitiesByCountry $parameters)"
  [2]=>
  string(53) "GetWeatherResponse GetWeather(GetWeather $parameters)"
  [3]=>
  string(77) "GetCitiesByCountryResponse GetCitiesByCountry(GetCitiesByCountry $parameters)"
}
  • Вопрос задан
  • 301 просмотр
Пригласить эксперта
Ответы на вопрос 2
Попробуйте $client->getLastRequest()
Ответ написан
@krypt3r
Вариант с call() закомментируйте, он исключение выбрасывает. Вариант $client->GetCitiesByCountry() вполне рабочий, возвращает список городов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы