soap不更新的真凶:当我修改了服务端的调用方法后,更新了wsdl,客户端的参数老是丢失(不是全丢失,而是部分),让人很郁闷。第二天我索性增加了一个服务端的新方法,更新了wsdl,但是客户端请求却报错说没有定义该方法。最后发现是因为php对soap的wsdl进行了缓存。解决方法是,修改php.ini中的soap.wsdl_cache_enabled=1(改为0),soap.wsdl_cache_ttl=86400(改为0)两项。特别注意的是,客户端和服务端的机器都要改。