U811.1接口EAI系列之一-通用訪問EAI方法--統一調用EAI公共方法--VB語言


1.現在做的項目是關於業務系統與U811.1的接口項目。

2.那么就需要調整通過EAI調用生成U8業務單據。

3.下面就一個通用的向U8-EAI傳遞XML的通用方法

4.肯定有人會問怎么還用VB調用呢?為什么不用C#等? 這是因為現在客戶的老系統用的是VB6.0開發的,所以要結合老系統開發新業務再與U8業務一起動作。

5.還有朋友會有疑問全用U8不就行了,U8是標准產品又不是“神”,在企業管理上不是所有的U8業務流程都是最好的、最優的、最先進的。所以有些業務必須要客開。並用U8二開還是會被限制的。

6.下面的代碼是我們在實際項目中用到的,是經過測試的。如下步驟:

第一步:需要配置一下U8服務器上的EAI接口配置環境:

1.u8服務器:是安裝u8那台服務器的名或IP。

2.用戶名和密碼、還有EAI的數據庫源帳套。

1.增加一個外部系統注冊碼。這個系統編碼在業務系統中調用EAI時會用到。

2.這個選擇的數據源要與EAI基本設置的數據源一致。也就是U8賬套選擇的是一個賬套。

注:要確保安裝的服務器上有EAI服務。因為沒有這個服務的話是傳不上去的。會利用U8EAI的import.asp這個服務。

 

第二步:直接把一面的代碼放到項目當中

 ls_http:參數是上面U8配置的。規則:http://u8服務器名/IIS服務的訪問名/import.asp

'向EAI傳遞的Xml數據///////////////////////////////////////////////////////////////////////
Public Function SendToEAI(ls_xml As String, ByRef as_dsc As String) As Boolean
    Dim obj As Object
    Dim strRet As String ' //EAI返回的Xml數據
    Dim domAll As New DOMDocument
    Dim strTemp As String
    Dim ls_http As String
    ls_http = "http://u8/u8eai/import.asp"
    SendToEAI = True
    
     Dim xmlhttp As Object
    Set xmlhttp = CreateObject("MSXML2.XMLHTTP")  '創建XMLHTTP對象
    Call xmlhttp.Open("POST", ls_http, False)  '使用XMLHTTP對象打開                網絡連接,URL中的u8appsrv填U8應用服務器
    Dim requestXml As String
    requestXml = ls_xml 'domAll.xml
    xmlhttp.send (requestXml)    '發送Request消息
    Dim responseXml As String
    responseXml = xmlhttp.responseText   '獲取返回Response消息
    domAll.loadXML responseXml
    Dim ls_temp As String
    Dim ls_succeed As String '成功失敗標識
    Dim ls_dsc As String '出錯時描述
    
    ls_succeed = Trim(domAll.selectSingleNode("ufinterface").childNodes(0).Attributes.getNamedItem("succeed").Text)
    If ls_succeed = "0" Then '成功
        ls_temp = Trim(domAll.selectSingleNode("ufinterface").Attributes.getNamedItem("request-roottag").Text)
        If ls_temp = "voucher" Then '憑證獲取憑證號
            as_dsc = Trim(domAll.selectSingleNode("ufinterface").childNodes(0).Attributes.getNamedItem("u8voucher_id").Text)
        Else '其它獲取U8 KEY
            as_dsc = Trim(domAll.selectSingleNode("ufinterface").childNodes(0).Attributes.getNamedItem("key").Text)
        End If
    Else '失敗
        SendToEAI = False
        as_dsc = Trim(domAll.selectSingleNode("ufinterface").childNodes(0).Attributes.getNamedItem("dsc").Text) '出錯時錯誤信息
    End If
    Set xmlhttp = Nothing '釋放資源
End Function

相關XML參考文件下載 

其它關於具體如何調用EAI接口請看各個業務單據具體實現。

作者:王春天 2013-10-28

地址:http://www.cnblogs.com/spring_wang/p/3393147.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM