php的soap无故出错的真凶:wsdl缓存

最近在开发上用到了soap,同时还碰到了一个怪问题。

当我修改了服务端的调用方法后,更新了wsdl,客户端的参数老是丢失(不是全丢失,而是部分),让人很郁闷。

第二天我索性增加了一个服务端的新方法,更新了wsdl,但是客户端请求却报错说没有定义该方法。

最后发现是因为php对soap的wsdl进行了缓存。

解决方法是,修改php.ini中的soap.wsdl_cache_enabled=1(改为0),soap.wsdl_cache_ttl=86400(改为0)两项。

特别注意的是,客户端和服务端的机器都要改。

转载请注明来源:php的soap无故出错的真凶:wsdl缓存

http://www.php1.cn/Content/php_De_soap_WuGuChuCuoDeZhenXiong_-wsdl_HuanCun.html