vb.net中东软医保接口的调用
????前段時間接了個醫(yī)院管理系統(tǒng)的小項目,要求接入本市醫(yī)保接口,本市的醫(yī)保接口采用的是東軟的接口平臺,為動態(tài)庫版,只提供了幾個配置文件和幾個DLL動態(tài)庫,文檔中寫的不夠詳細(xì),并沒有各種語言平臺的例子,只能一點一點的摸索,雖然自己做項目也做了七八年了,但也是第一次使用vb.net,就索性一邊做一邊摸索吧!
????查遍了搜索引擎,也沒有找到相似的案例,只有自己琢磨,東軟提供的文檔內(nèi)容如下:
1.1?INIT 初始化函數(shù)
1.1.1?功能說明
系統(tǒng)啟動前調(diào)用init函數(shù)進(jìn)行初始化,檢查配置文件等完成動態(tài)庫初始化準(zhǔn)備工作。
1.1.2?語法規(guī)則 Syntax:
對外提供接口:
SiInterface.dll
?Int INIT(char *pOutputInfo)
輸入?yún)?shù):無
輸出參數(shù):outputData char*
返回值: 成功 0??? 失敗 -1???
?
1.1.3?出參格式: outputData char*
提示信息,如出錯則為錯誤提示,HIS開發(fā)商需提示出錯誤信息。
1.2?BUSINESS_HANDLE 業(yè)務(wù)函數(shù)
1.2.1?語法規(guī)則 Syntax:
對外提供接口:
SiInterface.dll
int WINAPI BUSINESS_HANDLE(const char* inputData,
???????????????????????????????? char* outputData)
輸入?yún)?shù):inputData?
輸出參數(shù):outputData char*
返回值: 成功 0??? 失敗 -1???
輸入?yún)?shù)是以“^、$、|”分割的字符串
輸出也是以“^”“@、^、$、|”分割的字符串
調(diào)用輸入?yún)?shù)的函數(shù)經(jīng)常用,但輸出參數(shù)卻沒用過,并且所有對醫(yī)保平臺進(jìn)行的操作都是通過BUSINESS_HANDLE函數(shù)來進(jìn)行,這個問題琢磨了一個星期,終于弄明白了。
我的解決方法如下:
1、導(dǎo)入動態(tài)庫
<DllImport("SiInterface.dll", EntryPoint:="INIT")> Public Shared Function INIT(ByVal OutputInfo As String) As Integer
??? End Function
??? <DllImport("SiInterface.dll", EntryPoint:="BUSINESS_HANDLE")> Public Shared Function BUSINESS_HANDLE(ByVal inputData As String, <Out> ByVal outputData As StringBuilder) As Integer
??? End Function
2、調(diào)用動態(tài)庫
? Dim inputdata As String '入?yún)?br />??????? Dim outputdata As New StringBuilder() ‘出參
outputdata.Capacity = 1024 ’由于調(diào)用出參需要分配內(nèi)存,現(xiàn)分配內(nèi)存空間用于存儲出參
inputdata="入?yún)⒆址?#34;
BUSINESS_HANDLE(inputdata, outputdata)‘調(diào)用函數(shù)
????此時執(zhí)行后,outputdata將會有醫(yī)保接口返回的信息
????其中?Dim outputdata As New StringBuilder() 此句最重要,我試了好多重方法,都不好用,只有這句才能用。
????
????希望能對碼農(nóng)同行們有些幫助。
轉(zhuǎn)載于:https://blog.51cto.com/yushihai/1569357
總結(jié)
以上是生活随笔為你收集整理的vb.net中东软医保接口的调用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Web Service security
- 下一篇: 业界重磅新书《UNIX/Linux网络日