PowerBuilder 11.5 以WebService为数据源生成数据窗口

PowerBuilder 11.5在千呼万唤中终于出来了,看来Sybase公司为此确实花了不少力气,增加了不少对WebService方面的支持,

特别是增加了以WebService为数据源的DataWindow,最近我用Xfire写了一个WebService,以它为数据源做了一个DataWindow。

 

第一步,如下图,选择Web Service数据源:

选择Web Service数据源

 

第二步,如下图,输入WebService的WSDL文件的地址:

输入WebService的WSDL文件的地址

 

第三步,如下图,选择WebService接口:

选择WebService接口

 

第四步,如下图,选择WebService的接口方法:

选择WebService的接口方法

 

第五步,如下图,选择你要生成DataWindow的WebService的返回结果:

 

选择你要生成DataWindow的WebService的返回结果

 

第六步,如下图,Finish即可:

 

 

通过以上六步就生成了如下DataWindow:

生成的DataWindow

 

但是在生成过程中我却发现一个百思不得其解的问题,对于Java中的数值型结果,PowerBuilder都会生成一个

System.Boolean ksdmSpecified ,ksdm是字段名。而对于String型则无此问题,真是搞不懂,是不是PowerBuilder对Java的支持不

够好呢?但是Xfire生成的WebService都是标准WebService呀。

 

对于生成的DataWindow,只是在DataWindow中加入了以下代码,并生成了一个Query.dll

 

webservice=webservice=(WSDL="http://localhost/hissq/services/Query?wsdl"  assembly="Query.dll"  namespace="WebService" classname="Query" method="GetKsdm" methoddefinition="<method name='GetKsdm' ns='WebService' pbname='GetKsdm'><return name='returnvalue' type='WebService.HisKsxx' isRef='False' ArrayDim='1' IsNullableType='False' /></method>" structurename="HisKsxx(System.int64 ksdm,System.Boolean ksdmSpecified ,System.String ksmc,System.String pydm)" inputparms="" resultsetparm=-1)
 sort="ksdm A " )

 

接下来,生成以后,怎么更新与插入呢,PowerBuilder专门增加了对WebService的更新,如下图:

 

 

一、更新设置:

请注意Use Original是使用初始值进行更新。

二、插入设置:

 

哈哈,一个WebService的DataWindow就全部设置完毕了。

 

查询和更新操作就和普通DataWindow一样了。

 

更新:

 

integer li_r

li_r = dw_1.update()


If li_r <0 Then messagebox("错误",is_error)

 

查询,如果有参数也是和普通DataWindow一样传递:

 

dw_1.retrieve()

 

对于WebService调用错误可以在DataWindow的事件wserror中取得,参数为errormessage。

pb11来了,大家的希望有了; 作者起初花了近一段的时间研究PB11,写点心得,希望大师们不要见笑: 感觉还是比较方便的和强大的,使用了AJAX技术,无刷新,用于做查询还是很不错的,(如果要求不高的话,做个小程序也可以,效率上不比一般的.NET程序差多少);但是倘若用在大的项目中,本人觉得可能还是需要值得商榷的,有兴趣的同仁可以研究研究; 2. WEBSERVICE: 因为之前有写过PB6的三层,因此也特意研究了一下PB11的WEBSERVICE, ,只要代码写的可以的话,在INTERNET上跑,感觉还是不错的,特别是WEBSERVICE+CS框架的二合一,更有效的决绝了对高性能要求; 我觉得基于pb11的最好的web解决方案是: pb程序(webservice)+IIS for .net框架 +客户端 或者是:pb程序+.net winform+智能客户端+IIS for .net框架 如果你想pb源代码执行不要受任何.net框架限制,就用第一种, 如果想用智能客户端,那可能还是要用第二种。非常建议用第二种。 最后讲一句,其实我觉得做企业应用,软件功能,客户的体验应该是最重要, 就像pb程序(webservice)+IIS for .net框架 +客户端 架构 ,就已经解决了程序安装维护的问题,大可不必再迷信和崇拜纯web的应用了。我觉得winform比web更适合企业级用户 补充: 经过几个月的努力,终于把PB11 WEBSERVICE 框架完成(除了没有封装动态调用存储过程外,已经封装了全部常用功能); 本想把客户端程序上传让大家测试,但是由于公司的WEB服务器上有其它正式的程序在用,所以暂时不准本把 SERVER端程序挂到该服务器上供大家测试,以免带来安全隐患,还请见谅 如有问题可以通过以下方式联系: 本代码非本人所写,在其他网站下载,仅供学习交流之用!
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值