当我尝试使用某些数据访问wsdl中的函数时(在php中使用soap客户端),我收到以下错误。
Uncaught SoapFault exception: [Client] Function function_nameis not a valid method for this service
任何帮助?
答案 0 :(得分:25)
如果要执行SOAP无法找到的功能 - PHP可能会缓存wsdl文件。
添加:
ini_set("soap.wsdl_cache_enabled", "0");
禁用缓存。
答案 1 :(得分:2)
两种可能的解决方案:
答案 2 :(得分:0)
只需在函数顶部的注释中添加参数,返回类型和Web服务方法。它会工作。我尝试了它的工作。
/**
* @param string the symbol of the stock
* @return float the stock price
* @soap
*/
public function getPrice($symbol)
{
//...return stock price for $symbol
}
答案 3 :(得分:0)
I had this problem and finally decided to check my php error log.
In php.ini enable always_populate_raw_post_data = -1
and restart the server .
My PHP version is 5.6.8
答案 4 :(得分:-1)
在我们的情况下,从PHP5.6升级到PHP7时发生了此异常。对我们来说,禁用WSDL缓存也有效。
ini_set("soap.wsdl_cache_enabled", "0");
另见:http://lornajane.net/posts/2015/soapfault-when-switching-php-versions