欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

Aras二次开发SOAP通讯NODE.JS实现方式

发布时间:2024/1/18 50 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Aras二次开发SOAP通讯NODE.JS实现方式 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

Aras二次开发SOAP通讯NODE.JS实现方式

1. 介绍

Aras支持二次开发/扩展编程的方式,通过SOAP协议进行通讯,可以实现与Aras系统跨平台的控制访问。这里介绍通过NODE.JS脚本的访问方式。

2. 官方介绍

Aras二次开发的介绍(包括AML, IOM, SOAP等)在Programmers Guide的文档里描述。下面部分是SOAP通讯的官方VB示例:


其中,访问用户的密码采用MD5加密转换,譬如初始管理员账号admin的密码为innovator, 如其对应关系:

需要注意database变量值必须正确,与Aras所用数据库名一致,在Aras服务器上查看数据库名如下:

3. NODE.JS脚本设计

在安装了NODE.JS的本地计算机上,新建一个aras.js的脚本文件,并编写如下:

var innovatorServer = "http://192.168.52.131/InnovatorServer/Server/InnovatorServer.aspx"; var database = "InnovatorSolutions"; var loginName = "admin"; var password = "607920b64fe136f9ab2389e371852af2" //MD5 hash of the password var soapStart = "<SOAP-ENV:Envelope xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'><SOAP-ENV:Body>" var soapEnd = "</SOAP-ENV:Body></SOAP-ENV:Envelope>"; var soapAction = "ApplyItem"; var body = "<Item type='User' action='get' select='login_name'/>"; //AML var soap = soapStart + "<" + soapAction + " xmlns:m='http://www.aras-corp.com/'>" + body + "</" + soapAction + ">" + soapEnd ;var http = require('http'); var options = {hostname : '192.168.52.131',path: '/InnovatorServer/Server/InnovatorServer.aspx',port: '80',method : 'POST',headers:{'SOAPaction': soapAction,'AUTHUSER': loginName,'AUTHPASSWORD': password,'DATABASE': database } };var req = http.request(options,function(response){var str = ''response.on('data',function(chunk){str += chunk;//console.log(str);});response.on('end',function(){console.log(str);}); });req.write(soap);req.end(); //sending timesetTimeout(function (){soapAction = "logoff" body = "logoff" soap = soapStart + "<" + soapAction + " xmlns:m='http://www.aras-corp.com/'>" + body + "</" + soapAction + ">" + soapEnd ;options = {hostname : '192.168.52.131',path: '/InnovatorServer/Server/InnovatorServer.aspx',port: '80',method : 'POST',headers:{'SOAPaction': soapAction,'AUTHUSER': loginName,'AUTHPASSWORD': password,'DATABASE': database } };var req = http.request(options,function(response){var str = ''response.on('data',function(chunk){str += chunk;//console.log(str);});response.on('end',function(){console.log(str);}); });req.write(soap);req.end(); //sending time},2000)

4. NODE.JS脚本执行

打开脚本所在目录的控制台,输入node aras, aras为上面建立的aras.js的文件名。

得到访问结果(获取用户名列表),这里将Aras服务器的反馈列出,并不对反馈内容的格式做分解提取,设计者可自行对XML格式进行识别处理。

–End–

总结

以上是生活随笔为你收集整理的Aras二次开发SOAP通讯NODE.JS实现方式的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。