[KB功能解说] 如何重复使用Web Service调用的会话(cookie)?
适用产品版本
Sage X3 PU9、PU10
模块
管理
问题概要
一次连接至Sage X3的Web Service调用可能会根据会话用途打开一个新的Web服务器会话。你可以运用会话cookie强制发起一次Web Service调用来重复使用某个会话。
详细信息
尽可能重复使用会话有助于优化内存利用率。你可以在必要时或者在你有大量数据或Web Service调用时用这个功能强制重复时候会话。
解决方法
当你收到第一个响应时,你需要提取Syracuse和客户端cookies:
以下是一个响应示例:
HTTP/1.1 200 OK
content-type: text/xml; charset=utf-8
content-encoding: gzip
transfer-encoding: chunked
set-cookie: syracuse.sid.8124=5421cf44-2c3d-426c-8c08-cd08401fa9d8; path=/;HttpOnly;
set-cookie: client.id=39d83c70-a6d1-467d-a57f-8674f73e87a4; path=/; expires=Mon, 13 Feb 2017 07:07:20 GMT;HttpOnly;
content-language: en-us
....
这两行“set-cookie”都必须复制并转换为一个不含set-cookie表达式的行。以下行:
set-cookie: syracuse.sid.8124=5421cf44-2c3d-426c-8c08-cd08401fa9d8; path=/;HttpOnly;
set-cookie: client.id=39d83c70-a6d1-467d-a57f-8674f73e87a4; path=/; expires=Mon, 13 Feb 2017 07:07:20 GMT;HttpOnly;
变成:
syracuse.sid.8124=5421cf44-2c3d-426c-8c08-cd08401fa9d8; path=/;HttpOnly;client.id=39d83c70-a6d1-467d-a57f-8674f73e87a4; path=/; expires=Mon, 13 Feb 2017 07:07:20 GMT;HttpOnly;
然后在你的Web Service客户端中,你需要向表头添加一个名为“cookie”的参数,将上面的行的内容填入值中。这样,就会引导X3系统根据值重复使用会话。 |