pb12.5在客户端调用服务器端的getfullstate出错

qq_31213501 2017-08-20 12:08:40
本人初次用pb的webservice,想把服务器的数据库表读到客户端,在服务器端的webservice创建一个函数trandatawindow,返回值为long,参数为blob dwtemp,参数类型是reference,里面调用getfullstate来读,在客户端用setfullstate获取,在客户端调用服务器端的函数trandatawindow,当代码执行到时lsrv_obj.trandatawindow(bbdata)出现 引用了空对象 002错误,当我把函数trandatawindow的参数类型改为value时,再次在客户端调用时,不提示错误,也没在客户端的数据窗口控件里显示数据,请大侠指点,多谢多谢!

服务器端在webservice里创建的函数trandatawindow:
blob data1
datastore ld
//
long ll_rth
connect using sqlca;
lds=create datastore
lds.dataobject='d_xinfangren'
lds.settransobject(sqlca)
lds.retrieve()
ll_rth=lds.getfullstate(dwtemp)
disconnect;
destroy lds
return ll_rth

在客户端w_main的按钮click事件里:
string ls_syn
blob bbdata
soapconnection lsc_conn //获取soap类
n_webservicesoap lsrv_obj //调用wsdl

lsc_conn =create soapconnection
lsc_conn.createinstance(lsrv_obj,"n_webservicesoap") //实例化


lsrv_obj.trandatawindow(bbdata)
dw_1.setfullstate(bbdata)

...全文
209 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_31213501 2017-08-20
  • 打赏
  • 举报
回复
自己找到原因的,原因是trandatawindow函数的问题: 1、用getfullstate取得的blod数据不能当作trandatawindow的参数 2、把函数的返回值定义为blob,将getfullstate取出的数据作为函数的返回值。 3、在客户端用setfullstate放进数据窗口控件里就可以了

609

社区成员

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

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