PB webserver 开发示例

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

你可能感兴趣的:(windows,Web,webservice,PowerBuilder)