
//
OLEObject ole_gylpt_webservice
long ll_state, ll_len
string rs_return
//string ls_param
string as_url ,as_content
string ls_soapxml_start, ls_soapxml_end
string ls_input
ls_soapxml_start = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" ' +&
'xmlns:web="http://webservice.mis.elite.com/"><soapenv:Header/><soapenv:Body>' +&
'<web:doServiceByJson><jsonStr>'
ls_soapxml_end = '</jsonStr></web:doServiceByJson></soapenv:Body></soapenv:Envelope>'
as_content = "{'data':{'appName':'com.elite.mis','appProject':'wms','appVersion':'hmis_gg_01', " +&
"'userIdentity':'9999','serviceName':'mybitisUserService','methodName':'getLoginUser'," +&
"'parameters': {'userCode' : '3294','password':'123456'}}}"
as_content = "{'data':{'appName':'com.elite.mis','appProject':'wms','appVersion':'hmis_gg_01', 'userIdentity':'9999','serviceName':'hisService','methodName':'addManufacturer','parameters': {'oper' : '','produrceid':'','name':'','zjm':'','status':''}}}"
as_url = 'http://197.4.20.217:4980/com.elite.mis/dxws/soapService?wsdl'
ls_input = ls_soapxml_start + as_content+ ls_soapxml_end
ole_gylpt_webservice = create OLEObject
ll_state = ole_gylpt_webservice.connecttonewobject("Msxml2.XMLHTTP.6.0")
if ll_state<>0 then
ll_state = ole_gylpt_webservice.connectToNewObject("Msxml2.XMLHTTP.3.0")
if ll_state <> 0 then
rs_return = "連接MSSOAP.SoapClient失敗!回傳引數:"+string(ll_state)
goto _error
end if
end if
ll_len = Len(ls_input)
ole_gylpt_webservice.Open("POST",as_url,True)
ole_gylpt_webservice.setRequestHeader("Content-Type","text/xml;charset=UTF-8")
ole_gylpt_webservice.setRequestHeader("Content-Length",String(ll_len))
ole_gylpt_webservice.setRequestHeader("Authorization","auth=")
ole_gylpt_webservice.Send(ls_input)
Do While ole_gylpt_webservice.readyState <> 4 //查詢狀態,延時
Yield()
Loop
rs_return = ole_gylpt_webservice.responseText
ole_gylpt_webservice.disconnectobject( )
destroy ole_gylpt_webservice
return 0
-----------------------
rs_return = ole_gylpt_webservice.responseText 這一句獲取回傳值時,設定斷點步進調式就可以正常獲取回傳值,但是連續運行系統 就報錯。倒底是什么問題呢?
uj5u.com熱心網友回復:
ole_gylpt_webservice.Open("POST",as_url,false)改成同步的試試?
uj5u.com熱心網友回復:
你得把你報什么錯貼一下吧。uj5u.com熱心網友回復:
很多WS型別介面,PB的ws物件是呼叫不了的,傳輸的xml格式都有可能不一樣,建議使用http請求 把請求引數寫成xml字串去請求uj5u.com熱心網友回復:
不,而是因為pb使用的是easysoap,然而有些ws不是easysoap標準,不過可以用api處理
uj5u.com熱心網友回復:
rs_return = space(2000)rs_return = ole_gylpt_webservice.responseText
這樣試試
uj5u.com熱心網友回復:
