pb9.0 调用webservices 如何保持同一session会话

gzycw 2008-09-19 03:54:21
pb9.0 调用webservices时, 如何保持同一个session的会话呢,目前我们用pb9调用webservices时,每次发送请求,在服务器都会新建一个session,不知如何能保持请求时用同一个会话呢.代码如下(部份校验语句略):
soapConn = create SoapConnection
soapConn.SetOptions("SoapLog=~"C:\wsLog.log~"")
rVal = soapConn.CreateInstance(ws, "ws_wsexternalinterfacews")
loginretvo=ws.login("userid","pass")
logoutretvo=ws.logout()
目前问题就是,ws.login和ws.logout两次调用无法在同一个session上.造成无法注销.因为服务器在注销时需校验和登录为同一session才能注销.望各位能给一个解决的方法.前提是服务器端的程序不能修改.谢谢!
...全文
180 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
gzycw 2008-09-22
  • 打赏
  • 举报
回复
再问一下,如果不用SoapConnection,PB是否还有其他方法调用webservices,同时能解决session的问题吗?
AFIC 2008-09-19
  • 打赏
  • 举报
回复
2005,2008可以用clr集成,因为我没用过,参考:
http://technet.microsoft.com/zh-cn/library/ms131089.aspx
gzycw 2008-09-19
  • 打赏
  • 举报
回复
请问AFIC 兄:
我们数据库是sqlserver,不知道是否有像oracle 的loadjava.exe相同的功能呢?
AFIC 2008-09-19
  • 打赏
  • 举报
回复
oracle数据库的话,你还是像平常那样写java,
只是import的时候设置classpath稍有不同,
结果是.class,.java,.jar都可以,然后用oracle bin目录下的loadjava.exe
导乘javasource,然后随便建一个存储过程使用那个java source并实现类型的转化。
pb向掉普通的存储过程那样调用即可。
gzycw 2008-09-19
  • 打赏
  • 举报
回复
你可以考虑java写存储过程然后pb调用等方法
很感谢你的回答.
能说说java如何写存储过程以及pb如何调用吗?也就是大概的实现思路.
AFIC 2008-09-19
  • 打赏
  • 举报
回复
其实保持连接就是定制soap头,目前pb不支持,
你可以考虑java写存储过程然后pb调用等方法。
gzycw 2008-09-19
  • 打赏
  • 举报
回复
login(loginvo),loginvo是一个结构体,是把用户名和密码先赋给结构的相关变量.我上面只是作了简化.
目前登录是成功的,问题是登录和注销无法保持一个session.
gzycw 2008-09-19
  • 打赏
  • 举报
回复
因为服务端是另一个公司的产品,login是他们提供的一个接口函数.
gzycw 2008-09-19
  • 打赏
  • 举报
回复
服务器端是用java写的.
AFIC 2008-09-19
  • 打赏
  • 举报
回复
服务器端什么写的?
如果不是wcf的web service你是否应该用SetOptions设置用户名和密码?
如果是wcf,那就别用pb了,11.5都不支持。

662

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder Web 应用
社区管理员
  • Web 应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧