當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
Aras二次开发SOAP通讯NODE.JS实现方式
生活随笔
收集整理的這篇文章主要介紹了
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文件循环写入行时防止覆盖
- 下一篇: php分享朋友圈的代码