開發農合系統與his系統介面程序中,做了一個pb呼叫webservice程式,pb 9.0 在呼叫webservice涵數程序中,出現了如下錯誤:error:unknown soap response tag:http://schemas.xmlsoap.org/wsdl/#definitions請高人指導一下,看到前兩年有發帖和我這個錯誤一樣,怎樣解決!!!
程式代碼如下:
SoapConnection i_conn //宣告Soap連接物件
//p_nh_webservicedata_update_i nh_soap //建立物件
nh_data_update_ihttpport nh_soap //建立物件
String ls_Url
string err
long rVal
try
i_conn=create SoapConnection //實體化Soap 連接物件
catch (RUNtimeerror e11)
err = '創建soapconnection 出現錯誤,錯誤訊息是: ' + e11.getMessage()
messagebox('創建soapconnection 出現錯誤',err)
//st_waiting.visible = false
return
end try
ls_Url = "http://202.100.78.91:7001/sjpt_his_village/Data_Update_M.ws?WSDL"
rVal = i_conn.createinstance( nh_soap,"nh_data_update_ihttpport", ls_Url) ////實體化WebService代理物件
if rVal<>0 then
MessageBox('初始化WebServer失敗','初始化WebServer失敗,錯誤號:'+string(rVal))
end if
string params
string ls_S_Returns
params = '000' + "&" + 'admin'
ls_S_Returns = " "
try
// ls_S_Returns = nh_soap.Update_Data_String("PROC_CHECK_USER" , params , "&")
ls_S_Returns = nh_soap.Execute_Sql("Get_Member" ,"620621&6206210204080055",'&')
catch (RUNtimeerror e12)
err = 'soapconnection 呼叫函式SetOptions 出現錯誤,錯誤訊息是: ' + e12.getMessage()
//st_waiting.visible = false
messagebox('soapconnection 呼叫函式SetOptions 出現錯誤',err)
//return ls_S_Returns
end try
uj5u.com熱心網友回復:
ls_Url = "http://202.100.78.91:7001/sjpt_his_village/Data_Update_M.ws?WSDL"這個地址是否可用?
可以在ie欄中輸入上述地址測驗,出現該頁無法顯示的話,是地址錯誤或網路不通
uj5u.com熱心網友回復:
可能是PB對這個webservice支持的不好你可以用mssoap來實作
從PB8.0/9.0開始,就已經提供Web Service Proxy功能,能夠直接進行相關程式的撰寫。
但是,部分老專案使用PB6.5開發
研究后發現,其實PB6.5要操作Web Service也挺容易。
說明:1.本例子用于pb對Web Service的操作。
2.pb可使用兩種方式實作。
3.proxy方式使用pb9自帶的Web Service Proxy功能實作,需要將sharedPowerBuilderpbsoapclient90.pbd包含到應用中來。
4.OLE方式呼叫MSSOAP.SoapClient實作,此方式可用于低版本pb,如pb6.5。
5.MSSOAPLib.SoapClient的獲得,請從microsoft搜索soap toolkit下載soapsdk.exe
OLEObject MSSOAPLib1
MSSOAPLib1= CREATE OLEObject
long ll_result
ll_result = MSSOAPLib1.ConnectToNewObject("MSSOAP.SoapClient")
if ll_result <> 0 then
messagebox("系統提示","連接MSSOAP.SoapClient失敗!回傳引數:"+string(ll_result))
end if
MSSOAPLib1.mssoapinit("http://172.17.99.20:9090/yygh/services/Query?wsdl")
mle_content.Text = MSSOAPLib1.sendXml("Sina", sle_userid.text, sle_passwd.text, sle_mobileno.text, mle_content.text, "new")
uj5u.com熱心網友回復:
謝謝大家,再試試!uj5u.com熱心網友回復:
lzp_lrp 版主 PB人生的是正解,最后使用 MSSOAPLib.SoapClient 解決!代碼如下:
oleobject nh_soapcom
nh_soapcom = create oleobject
if nh_SOAPcom.connecttonewobject("MSSOAP.SoapClient30") <> 0 then
messagebox("錯誤","soap連接失敗!,程式退出!")
else
end if
nh_SOAPcom.ClientProperty("ServerHTTPRequest",true)
nh_soapcom.mssoapinit("http://202.100.78.91:7001/sjpt_his_village/Data_Update_M.ws?WSDL")
nh_SOAPcom.ConnectorProperty("Timeout",180000)
nh_soapcom.函式名()
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/43260.html
標籤:Web 應用
上一篇:資料視窗的更新
