• 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

  • 相关阅读:
    观察者模式
    盛最多水的容器
    单例模式
    (七)STL适配器
    (六)STL仿函数functor
    (五)STL算法
    吴恩达《机器学习》课程总结(3)_线性代数回顾
    吴恩达《机器学习》课程总结(2)_单变量线性回归
    吴恩达《机器学习》课程总结(1)_绪论:初识机器学习
    图像表示与描述
  • 原文地址:https://www.cnblogs.com/spring_wang/p/3393147.html
Copyright © 2020-2023  润新知