在PB中如何调用WEBSERVICE

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

 


pb9 调用web service必需包括的文件

pbsoapclient90.zip

 

pb9的调用源码例子

pb9_sms.rar

 

參考:http://www.pb9.com.cn/showtopic-201.html

你可能感兴趣的:(Web,浏览器,webservice,Sybase,PowerBuilder)