SOAP 缓存问题
2015-07-08 15:00
274 查看
今天在进行soap调用老是出错,去其他人的机器上试下,就好了,下面是从网上找到的原因
一开始不知道还有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="/tmp"
不
然,会报: Fatal error: Uncaught SoapFault exception: [Client] Function
(”test”) is not a valid method for this service in
D:\xampp\htdocs\clien.php:5 Stack trace: #0 [internal function]:
SoapClient->__call(’test’, Array) #1 D:\xampp\htdocs\clien.php(5):
SoapClient->test() #2 {main}错误。
缓存竟然是自己生成的,还很隐蔽。怪不得找半天。
要是你碰见SOAP的错误,一定要先看下缓存删除没,以免事倍功半哦。
补充:天大的秘密,调用过WebService以后,你浏览的服务器和调用的服务器都有一份WSDL缓存文件,也就是说要把这两个服务器上的都删去,改动才会生效。变态啊!
在页面顶部可以加上:
ini_set("soap.wsdl_cache_enabled", "0"); // disabling WSDL cache 调试时加上这一句很重要,去除缓存做测试.
一开始不知道还有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="/tmp"
不
然,会报: Fatal error: Uncaught SoapFault exception: [Client] Function
(”test”) is not a valid method for this service in
D:\xampp\htdocs\clien.php:5 Stack trace: #0 [internal function]:
SoapClient->__call(’test’, Array) #1 D:\xampp\htdocs\clien.php(5):
SoapClient->test() #2 {main}错误。
缓存竟然是自己生成的,还很隐蔽。怪不得找半天。
要是你碰见SOAP的错误,一定要先看下缓存删除没,以免事倍功半哦。
补充:天大的秘密,调用过WebService以后,你浏览的服务器和调用的服务器都有一份WSDL缓存文件,也就是说要把这两个服务器上的都删去,改动才会生效。变态啊!
在页面顶部可以加上:
ini_set("soap.wsdl_cache_enabled", "0"); // disabling WSDL cache 调试时加上这一句很重要,去除缓存做测试.
相关文章推荐
- dll签名两种方法
- Java -- SpringMVC+Mybatis+Mecached组合
- ls -l 以及文件属性的意思
- swift语言的学习笔记十一(willSet与didSet)
- Invert Binary Tree
- 一个好用的xml online viewer
- 转贴_SQL删除重复数据只保留一条
- Struts国际化实例
- 神经网络(前向传播和反向传导)
- 端口映射源码C++(转)
- VS2013常用快捷键
- This application failed to start because it could not find or load the Qt platform plugin "xcb".
- 【Android测试】【第一节】ADB——初识和用法
- [jquery] 遍历select的option,然后设置一项为选中
- knockout.js实例一~联系人管理器
- 学习SIP非常好的视频
- 深入剖析Java中的装箱和拆箱
- 一步一步学内核(Linux kernel) -----之1:linux内核学习资料
- Qt程序"没有找到mingwm10.dll"的解决办法
- 解决 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 问题