pb11開發webservice

用pb11開發webservice真是很簡單,現在我把搭建的過程簡單描述一下。

1、服務端

打開pb11,選擇菜單file->new->target->.net web service,然後一路next,最後生產的項目文件中至少包含三項,一個webservice應用,一個p_webservice部署,一個n_webservice用戶對象,然後在這個n_webservice對象中寫自己的公開函數,即可。

例如,函數string wf_getdw(ref string synac)

SQLCA.DBMS = "ADO.Net" SQLCA.LogPass = "123456" SQLCA.LogId = "sa" SQLCA.AutoCommit = False SQLCA.DBParm = "Namespace='System.Data.SqlClient',Database='mydb',DataSource='.'"

connect;

datastore lds string ls_rtn

lds = create datastore lds.dataobject = "dd" lds.settransobject(sqlca) lds.retrieve()

synac = lds.describe("datawindow.syntax") ls_rtn = lds.describe("datawindow.data")

disconnect; destroy lds

return ls_rtn

然後部署web service,打開p_webservice,可以看到有幾個屬性頁,其中有一個“objcet”頁,可以看到你要發佈的函數列表。並且前面是打鉤的。然後點擊菜單design->deploy project,即可部署webservice,但前提你必須有iis和.net。

服務端就可以了。

2、客戶端

也很簡單,菜單file->new->project->web service proxy wizard,然後next,注意要輸入正確的wsdl路徑,不知道看服務端的部署項目,“object”屬性頁裏面有。然後客戶端會自動連接wsdl,然後找到所發佈的用戶對象和函數,然後一路next,最後記住在項目文件中要添加pb關於soap的pbd,在sybase目錄下的shared目錄,將pbsoapclient110.pbd這個文件加入到項目中。

首先聲明實例變量

soapconnection i_conn n_webservicesoap iws_proxy_obj

然後在窗口上放一個dw,和一個按鈕,其中按鈕的事件代碼如下:

long ll_rv,ll_result string ls_syntax,ls_data,error_create,ls_abc

i_conn = create soapconnection ll_result = i_conn.setsoaplogfile("mysoap.log") ll_result = i_conn.createinstance(iws_proxy_obj,"n_webservicesoap")

try  ls_abc =iws_proxy_obj.wf_gettext(1)  messagebox("",ls_abc)   ls_data = iws_proxy_obj.wf_getdw(ls_syntax)   dw_1.create(ls_syntax,error_create)   if len(error_create) >0 then      messagebox("",error_create)   end if   dw_1.importstring(ls_data) catch(soapexception e)   messagebox("","") end try

destroy iws_proxy_obj destroy i_conn

這樣,一個web service的服務端和客戶端就完了,是不是很簡單?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章