如何在Pb里调用Webservice

 我来答
百度网友96ffcf7
2014-12-21 · 知道合伙人互联网行家
百度网友96ffcf7
知道合伙人互联网行家
采纳数:22721 获赞数:118725
从事多年网络方面工作,有丰富的互联网经验。

向TA提问 私信TA
展开全部
1.把c:\program
files\sybase\shared\powerbuilder下面的pbsoapclient90.pbd加入target.

2.创建web service代理
点:File->News->Project->Web service Proxy
Wizrd

下一步会提示你输入WSDL文件,点击浏览选择webservice服务器端提供的wsdl接口文档,比如(附档wsdl.rar):

http://172.18.60.39:8080/person/wsdl

点击下一步,会自动出现WSDL文件中的Service.点击下一步,系统默认选择ServiceSoap,紧接着输入proxy name(代理对象名)前缀,输入My.后面的几项按默认即可。

完成后是编译代理对象的界面。会出现:

Web Service Generator Project Status
Deployment PBL:
E:\whz\PBWebService\pb9\smsweb.pbl
Clear PBL on build: No
Confirm
overwrites: No
WSDL Location:
http://172.18.60.39:8080/person/wsdl
Services selected :
Service
Service:
PersonPort

点击编译的绿色图标,一个代理对象(mypersonport)生成了。

3.增加一个窗口放一个按钮,调用代码样例:
SoapConnection lsc_conn
mypersonport
lproxy_obj
String ls_proxy_name = "mypersonport"//生成的代理对象名称
String
ls_url =
"http://172.18.60.39:8080/person/api"//这个url从wsdl接口文档<service>节点可以找到
int
li_ret, i

try
lsc_conn = Create SoapConnection

//lsc_conn.SetOptions("SoapLog=~"soaplog.txt~"")

li_ret =
lsc_conn.Createinstance(lproxy_obj,ls_proxy_name,ls_url)
If li_ret
<> 0 Then
MessageBox("错误", "调用失败,错误代码:" + String(li_ret))

Return
End If

i = lproxy_obj.add("1")

MessageBox("Web Service", "调用成功:" + String(i))

catch (SoapException
e1)
MessageBox("错误", "不能调用函数,错误信息:" + e1.GetMessage())
catch
(PBXRuntimeError e2)
MessageBox("错误", "调用函数运行时错误." )
catch
(RuntimeError e3)
MessageBox("错误", "调用函数不可知错误." )
end try

转载仅供参考,版权属于原作者。祝你愉快,满意请采纳哦
匿名用户
2015-06-26
展开全部
1.把c:\program
files\sybase\shared\powerbuilder下面的pbsoapclient90.pbd加入target.

2.创建web service代理
点:File->News->Project->Web service Proxy
Wizrd

下一步会提示你输入WSDL文件,点击浏览选择webservice服务器端提供的wsdl接口文档,比如(附档wsdl.rar):

http://172.18.60.39:8080/person/wsdl

点击下一步,会自动出现WSDL文件中的Service.点击下一步,系统默认选择ServiceSoap,紧接着输入proxy name(代理对象名)前缀,输入My.后面的几项按默认即可。

完成后是编译代理对象的界面。会出现:

Web Service Generator Project Status
Deployment PBL:
E:\whz\PBWebService\pb9\smsweb.pbl
Clear PBL on build: No
Confirm
overwrites: No
WSDL Location:
http://172.18.60.39:8080/person/wsdl
Services selected :
Service
Service:
PersonPort

点击编译的绿色图标,一个代理对象(mypersonport)生成了。

3.增加一个窗口放一个按钮,调用代码样例:
SoapConnection lsc_conn
mypersonport
lproxy_obj
String ls_proxy_name = "mypersonport"//生成的代理对象名称
String
ls_url =
"http://172.18.60.39:8080/person/api"//这个url从wsdl接口文档<service>节点可以找到
int
li_ret, i

try
lsc_conn = Create SoapConnection

//lsc_conn.SetOptions("SoapLog=~"soaplog.txt~"")

li_ret =
lsc_conn.Createinstance(lproxy_obj,ls_proxy_name,ls_url)
If li_ret
<> 0 Then
MessageBox("错误", "调用失败,错误代码:" + String(li_ret))

Return
End If

i = lproxy_obj.add("1")

MessageBox("Web Service", "调用成功:" + String(i))

catch (SoapException
e1)
MessageBox("错误", "不能调用函数,错误信息:" + e1.GetMessage())
catch
(PBXRuntimeError e2)
MessageBox("错误", "调用函数运行时错误." )
catch
(RuntimeError e3)
MessageBox("错误", "调用函数不可知错误." )。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式