Pb调用Webservice
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Pb调用Webservice
分类:PowerBuilder 2011-05-17 15:48 1436人阅读评论(0) 收藏举报webserviceprotocolsdocumentationsoapservicewizard
而现在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所示
(注意:下面的lsc_conn.createinstance(lsv_obj,“service1soap”) 在pb9时报错,
改
为: lsc_conn.cr eateinstance(lsv_obj,“service1soap”,'http://wpvs2 008/countwebservice/countwebservice.asmx')后可以。
图-11
l 步骤6
就可以像调用PB本身方法一样调用了。如图12和13
图-12
图-13
附:
访问webServices时遇到“测试窗体只能用于来自本地计算机的请求”的解决办法
在system.web节中加上以下即可解决