soap不更新的真凶:

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

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

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

解决方法是,修改php.ini中的

soap.wsdl_cache_enabled=1(改为0),

soap.wsdl_cache_ttl=86400(改为0)

两项。

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

05-26 07:30