PowerBuilder 11.5 以WebService为数据源生成数据窗口
PowerBuilder 11.5在千呼万唤中终于出来了,看来Sybase公司为此确实花了不少力气,增加了不少对WebService方面的支持, 特别是增加了以WebService为数据源的DataWindow,最近我用Xfire写了一个WebService,以它为数据源做了一个DataWindow。 ? 第一步,如下图,选择Web Service数据源: ? 第二步,如下图,输入WebService的WSDL文件的地址: ? 第三步,如下图,选择WebService接口: ? 第四步,如下图,选择WebService的接口方法: ? 第五步,如下图,选择你要生成DataWindow的WebService的返回结果: ? ? 第六步,如下图,Finish即可: ? ? 通过以上六步就生成了如下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) ? 接下来,生成以后,怎么更新与插入呢,PowerBuilder专门增加了对WebService的更新,如下图: ? ? 一、更新设置: 请注意Use Original是使用初始值进行更新。 二、插入设置: ? 哈哈,一个WebService的DataWindow就全部设置完毕了。 ? 查询和更新操作就和普通DataWindow一样了。 ? 更新: ? integer li_r li_r = dw_1.update()
? 查询,如果有参数也是和普通DataWindow一样传递: ? dw_1.retrieve() ? 对于WebService调用错误可以在DataWindow的事件wserror中取得,参数为errormessage。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |