当前位置: 代码迷 >> PB >> pb调用web services解决方法
  详细解决方案

pb调用web services解决方法

热度:80   发布时间:2016-04-29 09:39:54.0
pb调用web services
http://222.83.250.252:8090/NFront/services/NcmsService?wsdl 

有这样的函数可以测试: getDiseaseCatalog('3418210001')  
***************程序代码***************
 ncmsservicehttpport lproxy_obj 
 lproxy_obj = Create ncmsservicehttpport
 lproxy_obj.getDiseaseCatalog('3418210001') 
***************报错*******************
Application terminated.
Error:Bad runtime function reference at line 3 in clicked event of objedt cb_1 of w_test.
请问这是什么问题啊?急。。。。。。。。。。。。。。。。。。。


------解决方案--------------------
你先确定函数是否正常!用WEB调用一下试试!就知道是那面的问题了!
------解决方案--------------------
就这么点信息,不好判断。
------解决方案--------------------
ncmsservicehttpport lproxy_obj 
SoapConnection conn 
conn = create SoapConnection
Conn.CreateInstance(proxy_obj, "ncmsservicehttpport")
lproxy_obj.getDiseaseCatalog('3418210001') 
记得把pbd或者pbx倒进去。通常在你pb的share下

------解决方案--------------------
先装.NET frameword SDK ,
pbwsclient105.pbd
------解决方案--------------------
帮忙顶一下
------解决方案--------------------
问我把,我与你做的是同一家的农合接口, 我已经搞定了
------解决方案--------------------
你好像在 调用 函数前少了 lsc_conn.createInstance(lproxy_obj,str_proxy_name,wsdl) 这个吧 ,他们的技术我是领教了 , 你等着慢慢测试吧
------解决方案--------------------
下面是我调用他们的下载疾病目录 过程

int mess
mess = messagebox('提示','确定要重新下载数据吗?',question!,yesno!,2)
if mess = 2 then return
st_waiting.visible = true



//////////////////////////
//pb 调用 Web service 步骤


// 第一步 创建对象 , 连接 Web service

long ll_ret , ll_row
string str_proxy_name = 'qqncmsservicehttpport' 
string err

soapconnection lsc_conn 
qqncmsservicehttpport lproxy_obj

try 
lsc_conn = create soapconnection 
catch (RUNtimeerror e11)
err = '创建soapconnection 出现错误,错误消息是: ' + e11.getMessage()
messagebox('',err)
st_waiting.visible = false
return 
end try 

try
lsc_conn.SetOptions("SoapLog=~"soaplog.txt~"")
catch (RUNtimeerror e12)
err = 'soapconnection 调用函数SetOptions 出现错误,错误消息是: ' + e12.getMessage()
st_waiting.visible = false
messagebox('',err)
return 
end try 
  
try
ll_ret = lsc_conn.createInstance(lproxy_obj,str_proxy_name,wsdl)
catch (RUNtimeerror e13)
err = 'soapconnection 创建实例(函数createInstance)失败,错误消息是: ' + e13.getMessage()
messagebox('',err)
st_waiting.visible = false
return 
end try 
if ll_ret <> 0 then 
err = '创建实例失败,请检查代理对象是否正确,错误代码'
messagebox('',err)
st_waiting.visible = false
return 
end if
 
 
//第二步 调用 Ws的方法 , 因为方法不一样,所有函数参数也不一样



string WebService_Return_Values 
try
WebService_Return_Values = lproxy_obj.getDiseaseCatalog (gs_hospitalcode ) 
catch (SoapException e14)
messagebox('调用方法','调用web service 失败:' + e14.getMessage())
st_waiting.visible = false
return
catch (PBXRuntimeError e15)
messagebox('调用方法','调用 函数出现 运行错误 错误!')
st_waiting.visible = false
return
catch (RUNtimeerror e16)
messagebox('调用方法','调用 函数出现 不可知 错误!')
st_waiting.visible = false
return
end try 

  相关解决方案