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().Attributes.getNamedItem("succeed").Text)
If ls_succeed = "" Then '成功
ls_temp = Trim(domAll.selectSingleNode("ufinterface").Attributes.getNamedItem("request-roottag").Text)
If ls_temp = "voucher" Then '凭证获取凭证号
as_dsc = Trim(domAll.selectSingleNode("ufinterface").childNodes().Attributes.getNamedItem("u8voucher_id").Text)
Else '其它获取U8 KEY
as_dsc = Trim(domAll.selectSingleNode("ufinterface").childNodes().Attributes.getNamedItem("key").Text)
End If
Else '失败
SendToEAI = False
as_dsc = Trim(domAll.selectSingleNode("ufinterface").childNodes().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

U811.1接口EAI系列之一-通用访问EAI方法--统一调用EAI公共方法--VB语言的更多相关文章

  1. U811.1接口EAI系列之一--通用把XML传送给EAI处理方法--PowerBuilder语言

    1.前面配置参考:http://www.cnblogs.com/spring_wang/p/3393147.html 2.pb通用调EAI方法代码如下: //===================== ...

  2. C#找出接口的所有实现类并遍历执行这些类的公共方法

    //这里找出了实现IOutputArray接口的所有类 private void FindAllClass() { var types = AppDomain.CurrentDomain.GetAss ...

  3. U811.1接口EAI系列之二-BOM构成-委外BOM构成--VB语言

    1.下面代码实现了VB6.0中调用U8EAI-BOM构成服务,以下代码均为项目实际代码,可直接复制应用. 2.在u811.1版本中委外BOM构成与正常的BOM构成是同系列表,不单独存储. 3.是以存货 ...

  4. RobotFrameWork接口项目分层及通用控制方式

    1. 前言 上一篇文章介绍了在设计接口用例之前应遵守的设计规范,详见<RobotFramework接口设计规范>,当然读者公司的内部规范也不一定非得完全遵循笔者所提到的,适合自己公司内部的 ...

  5. 通用访问 - 用“反射”来设计通用的通信协议,以及配套的SDK、工具

    1. 效果演示 2. 通信协议 功能介绍 特点 TCP协议 WebApi协议 3. SDK与工具 4. 应用示例 迷你网管 通用GIS 系统管理 5. 设计初衷与演化   1. 效果演示     服务 ...

  6. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(2)-数据库访问层的设计Demo

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(2)-数据库访问层的设计Demo ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1)框架搭建 前言:这 ...

  7. BLE 5协议栈-通用访问规范层(GAP)

    文章转载自:http://www.sunyouqun.com/2017/04/ 通用访问规范GAP(Generic Access Profile)是BLE设备内部功能对外的接口层,它规定了三个方面:G ...

  8. 【转】24Cxx 系列EEPROM通用程序及应用

    关于I2C 学习的时候介绍得最多的就是24C02 这里存储EEPROM了,但学的时候基本只是讲讲简单的I2C 的总线数据传输而已,即使先gooogle上搜索也绝大部分这这样的文章,很少有说到如何在实际 ...

  9. .Net程序员学用Oracle系列(16):访问数据库(ODP.NET)

    1..Net for Oracle 常见数据库驱动 1.1.微软提供的驱动 1.2.甲骨文提供的驱动 1.3.其它厂商提供的驱动 2.ODP.NET 常见问题分析 2.1.参数化问题 2.2.方法调用 ...

随机推荐

  1. Go语言类型转换库【github.com/demdxx/gocast】的用法

    一.导入库: go get github.com/demdxx/gocast 二.测试代码: // main.go package main import ( "fmt" &quo ...

  2. TCP三次握手详解

    当两台主机采用 TCP 协议进行通信时,在交换数据前将建立连接.通信完成后,将关闭会话并终止连接.连接和会话机制保障了TCP 的可靠性功能. 请参见图中建立并终止 TCP 连接的步骤. 主机将跟踪会话 ...

  3. Customize Web Sessions List

    To customize Fiddler's Web Sessions List, add rules using FiddlerScript to the OnBeforeRequest funct ...

  4. PPT里面的背景音乐找不到?

      ppt,找不到播放器,却有音乐播放!如何实现? 原来是在幻灯片切换处的音效添加的音乐~   文章来源:刘俊涛的博客 欢迎关注,有问题一起学习欢迎留言.评论

  5. 【leetcode】solution in java——Easy3

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6412505.html 心得:看到一道题,优先往栈,队列,map,list这些工具的使用上面想.不要来去都是暴搜 ...

  6. VIM设置代码折叠

    今天看了一下别人写的程序的源代码,发现是用vim写的,代码中有趣是用vim来折叠代码,一开始我以为是用插件的,后来上网查了查,得出以下使用方面的技巧. 1. 折叠方式 可用选项来设定折叠方式: 可在V ...

  7. HTML注释标签

      CreateTime--2016年11月4日08:46:25Author:Marydon参考链接--http://www.cnblogs.com/KeepMovingblog/archive/20 ...

  8. Echarts柱状图的点击事件

    最近在做一些图表统计的功能,用到了百度的开源图表软件Echatrs,不得不提的是:不但上手简单而且扩展功能也是十分强大.在使用的过程中也遇到了不少问题,可能由于有关Echatrs的资料并不是很齐全,所 ...

  9. 早前阅读live555源码做的笔记

    早前阅读live555源码的时候做了一些简单的笔记.现在看来那个时候对C++的理解还是不够,还有很多不足.当时对很多名词也不是很熟悉,对一些类的描述也很生硬,所以笔记中有一些不通畅之处. 阅读live ...

  10. 读书笔记——spring cloud 中 HystrixCommand的四种执行方式简述

    读了<Spring Cloud 微服务实战>第151-154页, 总结如下: Hystrix存在两种Command,一种是HystrixCommand,另一种是HystrixObserva ...