当前位置:
首页 >
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实现方式的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Python文件循环写入行时防止覆盖
- 下一篇: 浏览器执行JavaScript过程