当pb遇上webservice(一) 图片回原网址看!所以学Java的同时把PB也学些相应的东西!

图片回原网址看:!!

powerbuilder开发平台一直在发展,至pb9开始便已经支持webservice的调用,下面正是一个简单的教程,帮助大家掌握如何调用Webservice,接下来还将继续研究pb11中对webservice的调用以及创建,欢迎大家持续的关注。
首先开始第一讲:pb9对webservice的调用
大家至少需要以下知识,熟悉pb的开发,稍微了解webservice

1.首先我们创建或打开一个pb workspace.
2.勾选windows菜单中的system tree选项,打开左侧的system tree面板

3.在左侧的system tree中右键选择pbt,在弹出的菜单中选择properties,打开属性面板

4.在打开的属性面板中选择browser,添加pb扩展库pbsoapclient90.pbd(如果是pb9就是pbsoapclient90.pbd,pb10就是pbsoapclient100.pbd以此类推),这个pbd是用来处理webservice调用的类,可以在pb安装目录/shared/powerbulider目录下找到。
5.在打开的项目中新建Project -> Web Service Proxy Winzard,点击下一步


6.在出现的select wsdl file目录中设置wsdl地址,在这里我们要说明的是填入的地址有两种类型,可以使用本地的wsdl文件,也可以使用远程的wsdl描述,在这里我们建议使用远程获取的方式,这样一旦服务发生变化就可以重新编译新的代理,而不需要变动任何配置。熟悉webservice的可以知道,webservice可以发布元数据接口,我们可以通过服务+ "?wsdl"的方式来获取.例如http://127.0.0.1/test/webservice.asmx 是服务地址,那么我们可以通过http://127.0.0.1/test/webservice.asmx?wsdl 来获取wsdl描述。

7.选择服务

8.选择服务端口

9.输入生成代理名称前缀

10.设置项目名称

11.点击工具栏Deploy图标生成代理类

12.创建测试窗口

13.调用Webservice代码
//声明服务连接对象
SoapConnection conn

ttservice1soap test_ws
tns__Person tt
tns__Person tt1[]
long rVal

//string str_endpoint
//str_endpoint = "http://localhost/webserver/service1.asmx?WSDL "

conn = create SoapConnection
//创建服务实例
rVal = Conn.CreateInstance(test_ws, "ttservice1soap")
try
      if rb_1.checked then
          sle_1.text = test_ws.helloworld(sle_1.text)
      elseif rb_2.checked then
           sle_4.text = string(test_ws.addint(long(sle_2.text),long(sle_3.text)))
       elseif rb_3.checked then
            tt = test_ws.getperson()
           sle_5.text = tt.firstname + "," + tt.lastname
       else
         tt1[] = test_ws.getpersonlist()
         sle_6.text = tt1[1].firstname + "," + tt1[1].lastname + "|" + tt1[2].firstname + "," + tt1[2].lastname
    end if
//如果捕获异常
catch(soapException ex)
   messagebox("test",ex.text)
FINALLY
    destroy conn    
end try


好了,关于pb9的webservice调用就介绍到这里,下讲中将介绍在pb11.5中如何通过代理的方式来调用webservice的.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值