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
其它关于具体如何调用EAI接口请看各个业务单据具体实现。
作者:王春天 2013-10-28
地址:http://www.cnblogs.com/spring_wang/p/3393147.html
作者: 王春天 出处: http://www.cnblogs.com/spring_wang/ Email: spring_best@yeah.net QQ交流:903639067
QQ群:322581894 关于作者: 大连天翼信息科技有限公司 技术总监。 SNF快速开发平台 创始人。应用平台架构师、IT规划咨询专家、业务流程设计专家。 专注于快速开发平台的开发、代码生成器。同时专注于微软平台项目架构、管理和企业解决方案,多年项目开发与管理经验,精通DotNet系列技术Vue、.NetCore、MVC、Webapi、C#、WinForm等,DB(SqlServer、Oracle等)技术,移动端开发。熟悉Java、VB及PB开发语言。在面向对象、面向服务以及数据库领域有一定的造诣。现从事项目实施、开发、架构等工作。并从事用友软件产品U8、U9、PLM 客开工作。 如有问题或建议,请多多赐教! 本文版权归作者和CNBLOGS博客共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过邮箱或QQ 联系我,非常感谢。