PB调用WebService示例(含源码)

 

说起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

 

源码如下

/Files/xiyang1011/WebServiceExample.rar

/Files/xiyang1011/PbExample.rar

时间: 2024-08-02 13:17:03

PB调用WebService示例(含源码)的相关文章

WinForm中播放视频示例(含源码)

1背景 这几天一老友要求我做个小软件,在WinForm播放视频.印象中微软有个WM控件直接可以使用,晚上研究下 2实现方式 2.1微软草根 最简单的方式,是直接使用微软的WM控件,也是通过COM方式集成进来.操作步骤如下 l 工具箱引用 n 在工具箱中新建一Tab页面,命名为Windows Media Player(随意命名).创建成功后,再右键选中该面板,如下图所示 n 选中Com面板,找到如下图所示控件,引用即可 n 引用成功后,如下图所示.工具箱中已存在此控件,直接将此控件拖至页面中即可

浅谈PHP调用Webservice思路及源码分享_php实例

方法一:直接调用 复制代码 代码如下: <?  /******************************************************************************/ /*  文件名 : soapclient.php /*  说  明 : WebService接口客户端例程 /******************************************************************************/ include('N

基于微软RDLC报表控件示例(含源码)

      五一放假,研究了下RDLC,之前一直有人说如何强大?研究之后才发现,确实很强大.微软的这套东西,感觉是借鉴了Sybase的数据窗口,配置方式大同小异咯.我们现在看看这套东西如何使用?       有句话叫:别看广告看疗效,这里我在举两个简单的例子,如图-1和图-2所示.       示例一:点击功能系统名称链接字段,会跳转到图-2所示的功能系统下所包含的功能模块列表. 图-1 图-2       我们看看是如何制作出来的?这里我使用的是VS05版本,VS08当然也可以的.新建报表文件

基于Lodop控件的Web打印示例(含源码)

      最近项目组的打印控件有所改变,已经换成Lodop控件,使用以后发现,功能确实非常强大.可以打印Web页面内某个控件的内容.下面,还是通过一个实例来说明下吧,医院系统有个模块,是院内感染模块,它需要填写各种报卡,并且填写完以后,要将它打印出来,而且打印出来的效果要和纸制的报卡近乎一致.额,这个要求就比较高喽,如图-1所示,这是其中一张报卡的纸制扫描效果图,我们打印出来的效果要和这个几乎一样. 图-1       现在我们来分析一下这里的打印展示类型.       类型1:患者姓名,卡片

基于JQuery EasyUI的WebMVC控件封装(含源码)

JQuery EasyUI类库,大家不会陌生,出来已经有很多年了.个人感觉还是很好用的,作者更新频率也很快,bug也及时修复. 最近在整理以前的代码,找到了这个组件,它是将EasyUI组件封装成MVC控件,这样我们就可以不用写那些html标签了,我们先看看调用方式 <form id="form1"> @Html.HiddenFor(c => c.ID) @Html.HiddenFor(c => c.EditMode) @Html.HiddenFor(c =>

EntityFrameWork实现部分字段获取和修改(含源码)

  EntityFrameWork类库,是微软推出的ORM组件,它是基于Ado.Net的,个人感觉还是非常 好用的.以下介绍的2个功能点分别是部分字段更新和获取     解决部分字段Update.本方案采用仓储模式 步骤1:定义接口,实现仓库基类 步骤2:实现接口   步骤3:定义DbContext对象 步骤4:创建Access对象 步骤5:调用 using (TestDbContext dbContext = new TestDbContext()) { baunitAccess dbAcce

基于微软企业库的AOP组件(含源码)

软件开发,离不开对日志的操作.日志可以帮助我们查找和检测问题,比较传统的日志是在方法执行前或后,手动调用日志代码保存.但自从AOP出现后,我们就可以避免这种繁琐但又必须要实现的方式.本文是在微软企业库的AOP基础上封装出的组件.注意:是使用2.0版本,因为2.0以上版本是基于Net4.5类库的.好了,废话不多说.如图-1所示 图-1 说明     logmethodBillModel文件,是记录AOP详细信息     IBasicCodeService和BasicCodeService是用于测试

读取Pdm文件内容(含源码)

  Pdm文件,就是PowerDesigner软件生成的文件,用来设计数据库表结构非常适合.其实,它的文件存储格式就是Xml,网上有很多代码,可以读取pdm文件内容.代码可以使用,但一般只能读取简单的pdm文件,如下图所示   好了,抛砖已完成.下面要引玉了,如果要读取下图这个pdm文件内容,网上的若干代码就不行了   最后,说下重点,已经我的加工整理,下面提供代码里可以读取上述这种复制格式的pdm文件.调用也非常简单.如下所示 string pdmFileFullName = @"E:\pdm

调用webservice中含返回值为自定义对象的方法时,报ClassCastException错误

问题描述 本人初学webservice,平台用spring+cxf+ibatis,在调用接口中含返回自定义对象的方法时,就会报ClassCastException,即方法:publicList<User>getUserList() 调用返回值为基本类型的方法,则没问题,如:publicIntegergetUserCount(); 困扰很久,包括调用参数中含自定义类型的方法,也会报同样错误,如:publicvoidbImportData(List<User>uList); 请教各位大