说起PowerBuilder,可能大家都会嗤之以鼻,然后说一句:“哥们,还用呢啊”?记得以前看过的电影“功夫熊猫“里说:存在即是合理。我想说得是,世界上如果这个东西或这件事情存在,一定有它的道理,好像扯得有些远啊。。。。
好了,言归正传,PowerBuilder在Net没有成势之前,还是非常火的,因此,至今还有的公司在用它来开发,有人问,为什么不换呢。每个公司的情况都不相同,总有这种或那种的原因存在,导致无法更换,这点我们不去研究。
而现在WebService非常火,如果将两者结合起来呢,比如:用Net写好的WebService被Pb调用,而且还可以发布成接口形式,被其他公司所调用,合乐而不为呢?
先说一下开发环境:32位Win7旗舰版+PB11.5
其实在PB10.0出来时候,就已经支持调用WebService方式了。如下面步骤即可实现调用。
l 步骤1
在Net中创建一个WebService方法,用于被Pb调用,如图-1所示
图-1
l 步骤2
将此WebService发布,最好发布成IIS方式,如图-2所示。
图-2
这里有一点说明下,发布成IIS以后,是可以直接在浏览器里打开的,但它的后缀是asmx,而PB需要的是wsdl方式,就是说如何生成Wsdl文件?如下图-3所示,另存为即可并将这个文件存储起来。
图-3
好了,准备工作基本完成
l 步骤3
创建PB的解决方案文件,如图-4所示
图-4
这里面要必须引用一个pbwsclient11.pbd文件,不然,会调用不成功。这个文件在安装路径里就可以找到。
l 步骤4
从此步开始,我们按照创建对象创建一步一步操作即可,如下图列表所示
如图-5所示,选择Web Service Proxy Wizard图标
如图-6,这个选项勾不勾没有关系
如图-7,这个就要输入我们生成好的WSDL文件路径了(绝对路径)
如图-8所示,如果能到这里,就基本没有问题了
如图-9所示,到这里时,一定要编译下,就是保存图标的后面一个图标,余下事情就是编写代码,如图-10所示 ,是最终样子。
图-10
l 步骤5
创建一个CustomObject对象,声明一个方法,直接调用即可,如图-11所示
图-11
l 步骤6
就可以像调用PB本身方法一样调用了。如图12和13
图-12
图-13
源码如下