SOAP 缓存问题

简介:   今天在进行soap调用老是出错,去其他人的机器上试下,就好了,下面是从网上找到的原因   一开始不知道还有SOAP缓存。因为类文件改变了,重新生成了WSDL文件,测试运行,竟然不能通过。给我的第一感觉是WSDL文件问题,重新生成还不行,好像感觉就没有执行新生成的WSDL文件,难道有缓存,找找我没有做缓存呀,调试快一天了都不行。

  今天在进行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 调试时加上这一句很重要,去除缓存做测试.

目录
相关文章
|
4月前
|
缓存 JSON 前端开发
超详细讲解:http强缓存和协商缓存
超详细讲解:http强缓存和协商缓存
|
7月前
|
XML JSON API
⚡REST 和 SOAP 协议有什么区别?
这篇文章对比了 REST 和 SOAP 两种常见的 Web API 规范。REST 是一种 API 架构风格,遵循客户端-服务器、无状态和缓存等原则,使用 HTTP 协议和 JSON 格式,适合轻量级、高兼容性的场景。SOAP 是一种基于 XML 的网络服务访问协议,提供消息级安全性和 ACID 合规性,适用于企业级应用。REST 的优点包括前后端分离、浏览器兼容和带宽效率,而 SOAP 适用于需要高级安全特性的应用。除了 REST 和 SOAP,还有 gRPC 和 GraphQL 等其他选择。
|
7月前
|
缓存 算法
HTTP 缓存技术 - 协商缓存
HTTP 缓存技术 - 协商缓存
95 1
HTTP 缓存技术 - 协商缓存
|
7月前
|
存储 缓存 算法
HTTP 缓存技术 - 强制缓存
HTTP 缓存技术 - 强制缓存
108 0
HTTP 缓存技术 - 强制缓存
|
7月前
|
存储 缓存 前端开发
HTTP 缓存技术 - 认识缓存
HTTP 缓存技术 - 认识缓存
86 0
|
存储 缓存 前端开发
计网 - HTTP 协议_强制缓存和协商缓存的区别
计网 - HTTP 协议_强制缓存和协商缓存的区别
103 0
|
缓存 算法 JavaScript
网络拾遗之Http缓存
缓存:何时起作用 缓存的常见淘汰机制 HTTP缓存策略 缓存场景应用(Vue内部组件KeepAlive)
126 0
|
缓存 前端开发
HTTP之强缓存和协商缓存
HTTP之强缓存和协商缓存
HTTP之强缓存和协商缓存
|
存储 缓存 前端开发
|
Web App开发 存储 缓存
Web缓存基础:术语、HTTP报头和缓存策略
简介 对于您的站点的访问者来说,智能化的内容缓存是提高用户体验最有效的方式之一。缓存,或者对之前的请求的临时存储,是HTTP协议实现中最核心的内容分发策略之一。分发路径中的组件均可以缓存内容来加速后续的请求,这受控于对该内容所声明的缓存策略。
700 0