Когда я пытаюсь получить доступ к функции в wsdl с некоторыми данными (используя мыльный клиент в php), я получаю следующую ошибку.
Uncaught SoapFault exception: [Client] Function function_nameis not a valid method for this service
Любая помощь?
Если вы хотите выполнить функцию, которую SOAP не может найти - возможно, PHP кэшировал файл wsdl.
Добавить это:
ini_set("soap.wsdl_cache_enabled", "0");
для отключения кеширования.
Два возможных решения:
В нашей ситуации это исключение произошло при обновлении с PHP5.6 до PHP7. У нас отключение кеша WSDL тоже сработало.
Также см .: http://lornajane.net/posts/2015/soapfault-when-switching-php-versions
У меня возникла эта проблема, и я наконец решил проверить мой журнал ошибок php.
В php.ini включить always_populate_raw_post_data = -1 и перезапустить сервер.*
always_populate_raw_post_data = -1
Моя версия PHP 5.6.8
Просто добавьте Параметры, Тип возврата и Метод веб-сервиса в комментариях вверху функции. Это будет работать. Я попробовал его работать.
/** * @param string the symbol of the stock * @return float the stock price * @soap */ public function getPrice($symbol) { //...return stock price for $symbol }