session - 如何检测 session 是否有效或过期?

标签 session soap gsoap

我可以调用来确定我的 session 在 gsoap 客户端中是否仍然存在吗?

我认为检查 session 是否仍然存在的唯一方法是在每次 SOAP 调用后检查所有 cookie 值是否匹配。似乎 gsoap 会知道 session 处于事件状态,因为设置了 tcp_keep_alive 标志。 gsoap 中是否有功能允许我在 SOAP 调用之前检查这一点?是否有回调通知我 session 丢失?或者我应该为此目的制作一个虚拟 SOAP 方法?

最佳答案

您可以使用 Genivia 插件来检查并在 localhost:8080 上创建或更新在任何路径上有效的 session :

soap->cookie_domain = "localhost:8080";
struct soap_session *session = soap_start_session(soap, NULL, NULL); 

要创建新的 session 变量或修改该 session 中的现有 session 变量:

soap_set_session_var(soap, "session_var_name", "session_var_value", NULL, NULL);

要访问该 session 变量的值:

const char *value = soap_get_session_var(soap, "session_var_name", NULL, NULL);

要删除该 session 变量:

soap_clr_session_var(soap, "session_var_name", NULL, NULL); 

关于session - 如何检测 session 是否有效或过期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/331964/

相关文章:

c# - NetSuite SuiteTalk "customSearchJoin"从 SOAP XML 响应访问

c++ - gsoap,从旧版本迁移 - xml 响应名称和结构已更改

c - gsoap 生成的 wsdl 无法与 eclipse WebServices explorer 一起使用

java - C++ 中的 Gsoap 错误

session - 生成唯一 session ID 的最佳方法是什么?

javascript - 有没有办法从 javascript/jquery 链接设置 asp.net session 变量?

python - 如何使用 suds (Python) 对 HTTP 代理进行身份验证?

python - 如果 zeep 中的强制 wsdl 字段为空,如何删除该字段

session - 如何更改tomcat集群中的广播IP

python - 无法通过 geckodriver 附加到现有的 Selenium session