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().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
其它关于具体如何调用EAI接口请看各个业务单据具体实现。
作者:王春天 2013-10-28
地址:http://www.cnblogs.com/spring_wang/p/3393147.html
U811.1接口EAI系列之一-通用访问EAI方法--统一调用EAI公共方法--VB语言的更多相关文章
- U811.1接口EAI系列之一--通用把XML传送给EAI处理方法--PowerBuilder语言
1.前面配置参考:http://www.cnblogs.com/spring_wang/p/3393147.html 2.pb通用调EAI方法代码如下: //===================== ...
- C#找出接口的所有实现类并遍历执行这些类的公共方法
//这里找出了实现IOutputArray接口的所有类 private void FindAllClass() { var types = AppDomain.CurrentDomain.GetAss ...
- U811.1接口EAI系列之二-BOM构成-委外BOM构成--VB语言
1.下面代码实现了VB6.0中调用U8EAI-BOM构成服务,以下代码均为项目实际代码,可直接复制应用. 2.在u811.1版本中委外BOM构成与正常的BOM构成是同系列表,不单独存储. 3.是以存货 ...
- RobotFrameWork接口项目分层及通用控制方式
1. 前言 上一篇文章介绍了在设计接口用例之前应遵守的设计规范,详见<RobotFramework接口设计规范>,当然读者公司的内部规范也不一定非得完全遵循笔者所提到的,适合自己公司内部的 ...
- 通用访问 - 用“反射”来设计通用的通信协议,以及配套的SDK、工具
1. 效果演示 2. 通信协议 功能介绍 特点 TCP协议 WebApi协议 3. SDK与工具 4. 应用示例 迷你网管 通用GIS 系统管理 5. 设计初衷与演化 1. 效果演示 服务 ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(2)-数据库访问层的设计Demo
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(2)-数据库访问层的设计Demo ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1)框架搭建 前言:这 ...
- BLE 5协议栈-通用访问规范层(GAP)
文章转载自:http://www.sunyouqun.com/2017/04/ 通用访问规范GAP(Generic Access Profile)是BLE设备内部功能对外的接口层,它规定了三个方面:G ...
- 【转】24Cxx 系列EEPROM通用程序及应用
关于I2C 学习的时候介绍得最多的就是24C02 这里存储EEPROM了,但学的时候基本只是讲讲简单的I2C 的总线数据传输而已,即使先gooogle上搜索也绝大部分这这样的文章,很少有说到如何在实际 ...
- .Net程序员学用Oracle系列(16):访问数据库(ODP.NET)
1..Net for Oracle 常见数据库驱动 1.1.微软提供的驱动 1.2.甲骨文提供的驱动 1.3.其它厂商提供的驱动 2.ODP.NET 常见问题分析 2.1.参数化问题 2.2.方法调用 ...
随机推荐
- VMware虛擬化技術實作問答
http://www.netadmin.com.tw/article_content.aspx?sn=1202130002&ns=1203280001&jump=3 Q4:啟用VMwa ...
- Java 通过 jacob调用OCX控件
安装好要调用的ocx驱动,并通过注册表查询其对应的clsid. 下载jacob-1.18解压,将jacob-1.18-x86.dll文件复制到D:\Program Files (x86)\Java\j ...
- LCD显示——点阵字体
Bitmap font 点阵字体是把每一个字符都分成16×16或24×24个点,然后用每个点的虚实来表示字符的轮廓. 点阵字体优点是显示速度快,不像矢量字体需要计算:其最大的缺点是不能放大,一旦放大后 ...
- Spring Boot 之 RESTfull API简单项目的快速搭建(二)
1.打包 -- Maven build 2.问题 [WARNING] The requested profile "pom.xml" could not be activated ...
- 《鸟哥的Linux私房菜》学习笔记0——计算机概论
一:CPU架构 精简指令集CPU:SPARC系列.PowerPC系列.ARM系列.其中,ARM CPU广泛应用于手机.PDA.导航系统等设备. 复杂指令集CPU:x86架构的CPU,大量用于个人电脑, ...
- JSP九大内置对象辨析
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6043096.html JSP中一共预先定义了9个这样的对象,分别为:request.response.sess ...
- Cocos2d-js 3.0 颜色变换(调整sprite/图片的色调)
Flash在滤镜方面做得比较成熟,starling也有很多现成的办法. 但Cocos2D这里就显得比较单薄,百度/谷歌很少相关资料. 后续如果有时间,再慢慢整理各种滤镜效果. 这里先介绍一下颜 ...
- 对2个hex(16进制)字符串进行异或操作
private static String hexXOR(String hex1, String hex2){ BigInteger i1 = new BigInteger(hex1, 16); Bi ...
- 一个简单的ExtJS搜索建议框
封装的是一个Ext4.2的组件,继承并兼容于Ext的ComboBox. 实现原理非常easy,在 combo 中监听 keyup 事件就可以. 搜索建议的Combo.基本上全然兼容, 使用方式与Com ...
- C++中的class (1)
1.public:public表明该数据成员.成员函数是对全部用户开放的,全部用户都能够直接进行调用 2.private:private表示私有,私有的意思就是除了class自己之外,不论什么人都不能 ...