zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    ruby 二进制转十进制 Integer("0b101") = 5
    开始菜单和我的文档的我的图片及我的音乐变成 my pictrues 正常图标了
    ruby watir 莫名其妙的错误
    Excel SaveAS是去掉提示框
    apache && jboss安装
    ruby require include的区别
    ruby控制鼠标
    This error is raised because the column 'type' is reserved for storing the class in case of inheritance
    用正则表达式限制文本框只能输入数字,小数点,英文字母,汉字等各类代码
    ASP.NET 如何动态修改 Header 属性如添加 Meta 标签 keywords description!
  • 原文地址:https://www.cnblogs.com/spring_wang/p/3393147.html
Copyright © 2011-2022 走看看