Vincent.Q

重剑无锋,大巧不工 电话:13867408830;QQ:154538878;邮箱:xiyang-0@163.com

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  60 随笔 :: 0 文章 :: 989 评论 :: 0 引用

 

说起PowerBuilder,可能大家都会嗤之以鼻,然后说一句:“哥们,还用呢啊”?记得以前看过的电影“功夫熊猫“里说:存在即是合理。我想说得是,世界上如果这个东西或这件事情存在,一定有它的道理,好像扯得有些远啊。。。。

好了,言归正传,PowerBuilder在Net没有成势之前,还是非常火的,因此,至今还有的公司在用它来开发,有人问,为什么不换呢。每个公司的情况都不相同,总有这种或那种的原因存在,导致无法更换,这点我们不去研究。

而现在WebService非常火,如果将两者结合起来呢,比如:用Net写好的WebService被Pb调用,而且还可以发布成接口形式,被其他公司所调用,合乐而不为呢?

先说一下开发环境:32位Win7旗舰版+PB11.5

其实在PB10.0出来时候,就已经支持调用WebService方式了。如下面步骤即可实现调用。

l 步骤1

在Net中创建一个WebService方法,用于被Pb调用,如图-1所示

clip_image001

图-1

l 步骤2

将此WebService发布,最好发布成IIS方式,如图-2所示。

clip_image003

图-2

这里有一点说明下,发布成IIS以后,是可以直接在浏览器里打开的,但它的后缀是asmx,而PB需要的是wsdl方式,就是说如何生成Wsdl文件?如下图-3所示,另存为即可并将这个文件存储起来。

clip_image004

图-3

好了,准备工作基本完成

l 步骤3

创建PB的解决方案文件,如图-4所示

clip_image005

图-4

这里面要必须引用一个pbwsclient11.pbd文件,不然,会调用不成功。这个文件在安装路径里就可以找到。

l 步骤4

从此步开始,我们按照创建对象创建一步一步操作即可,如下图列表所示

clip_image006

如图-5所示,选择Web Service Proxy Wizard图标

clip_image007

如图-6,这个选项勾不勾没有关系

clip_image008

如图-7,这个就要输入我们生成好的WSDL文件路径了(绝对路径)

clip_image009

如图-8所示,如果能到这里,就基本没有问题了

clip_image011

如图-9所示,到这里时,一定要编译下,就是保存图标的后面一个图标,余下事情就是编写代码,如图-10所示 ,是最终样子。

clip_image012

图-10

l 步骤5

创建一个CustomObject对象,声明一个方法,直接调用即可,如图-11所示

clip_image014

图-11

l 步骤6

就可以像调用PB本身方法一样调用了。如图12和13

clip_image015

图-12

clip_image016

图-13

 

源码如下

/Files/xiyang1011/WebServiceExample.rar

/Files/xiyang1011/PbExample.rar

标签: net, WebService, PB
posted on 2010-03-18 13:14 Vincent.Q 阅读(3035) 评论(9) 编辑 收藏

评论

#1楼 2010-03-18 13:20 nitEthan      
学习一下
 回复 引用 查看   

#2楼[楼主] 2010-03-18 13:23 Vincent.Q      
补充下:
开发环境是32位Win7旗舰版下的VS2008+PB11.5
 回复 引用 查看   

#3楼 2010-03-18 13:42 峰言峰语      
学习下,用了两年PB,现在放下也有两年了,但是对PB还是有些感情的.
 回复 引用 查看   

#4楼 2010-03-18 13:45 Robin Zhang      
PB可是很风光过一段时间的
现在用也不过时
 回复 引用 查看   

#5楼 2010-03-18 14:18 张磊_larry.zhang      
我工作后的第一个任务就是把公司10年前的PB程序改成C#的
刚开始还看看PB代码,感觉有点像VB
后来就不看PB源代码了,直接根据需求文档和PB运行效果开发
 回复 引用 查看   

#6楼 2010-03-18 22:14 heaiping      
大三的时候有过pb做过一次课程设计
 回复 引用 查看   

#7楼 2010-03-19 12:27 discover      
曾经的PBcoder怀念的进来支持
 回复 引用 查看   

#8楼 2010-03-24 02:34 苍岚      
我们公司还有一部分PB程序在维护,看到标题进来看一眼,结果环境是PB 11....我们公司还在用PB 8.....
 回复 引用 查看   

#9楼[楼主] 2010-03-24 08:23 Vincent.Q      
@苍岚
PB8好像还不支持的...
 回复 引用 查看