一开始不知道还有SOAP缓存。因为类文件改变了,重新生成了WSDL文件,测试运行,竟然不能通过。给我的第一感觉是WSDL文件问题,重新生成还不行,好像感觉就没有执行新生成的WSDL文件
开始想其它办法,打开PHP.INI文件,查找soap,发现几行字让我顿时明白了。
soap.wsdl_cache_enabled=1
; Sets the directory name where SOAP extension will put cache files.
soap.wsdl_cache_dir="C:Program FilesendCore emp"
缓存竟然是自己生成的,还很隐蔽。怪不得找半天。
要是你碰见SOAP的错误,一定要先看下缓存删除没,以免事倍功半哦。
补充:天大的秘密,调用过WebService以后,你浏览的服务器和调用的服务器都有一份WSDL缓存文件,也就是说要把这两个服务器上的都删去,改动才会生效。变态啊!
来源:http://blog.csdn.net/load_life/article/details/8153804