我正在尝试访问需要调用2个方法的Web服务,一个用于登录,另一个用于实际结果。
在SoapUI中进行测试后,我可以在检查“维护HTTP会话”后得到结果。 所以我发了一个登录请求,然后是结果请求并且它有效。
如何在PHP中处理“SOAP会话”?
答案 0 :(得分:1)
看看php的SoapClient类看起来并不像它有自动处理会话持久性的代码。
相反,您可以使用
手动从SoapClient获取Cookie$ SoapClient-> _cookies
登录后,将其存储在某个地方(文件,数据库,内存缓存等),并在使用__setCookie
对后续(单独)调用进行任何查询之前设置该cookie您可以尝试扩展SoapClient类并使用cookie-persistence代码“装饰”它,因为在某些时候cookie可能会过期,并且您的方法调用将失败。在这种情况下,您可以执行一些操作来重新进行身份验证,并使用新的cookie数据更新。