soap
這個套件是Node.js提供來連接SOAP Web Service的
Installation
npm install request
Sample Usage
/** * 官網範例 */ var soap = require('soap'); var url = 'http://example.com/wsdl?wsdl'; var args = {name: 'value'}; soap.createClient(url, function(err, client) { client.MyFunction(args, function(err, result) { console.log(result); }); });
下面為ITRI提供的TTS服務連線實作(PS:以下範例只到第一層連線)
/** * 下面展示呼叫一個公開SOAP服務的範例 * WSDL是由工研院tts服務提供 */ var soap = require('soap'); /** * WSDL位置 */ var wsdl = 'http://tts.itri.org.tw/TTSService/Soap_1_3.php?wsdl'; /** * 定義呼叫SOAP要使用到的參數內容 */ var _args = { //帳號密碼請至:http://tts.itri.org.tw/development/web_service_api.php 申請 accountID: 'abc', password: 'def', TTStext: 'HELLO', TTSSpeaker:'Bruce', volume:'50', speed:'5', outType:'wav' }; /** * 建立SOAP Client,並傳入wsdl url */ soap.createClient(wsdl, function(err, client) { /** * 在建立的client物件後,即可以使用此client物件進行呼叫該SOAP對應的function * 並將參數以json格式包裝放在第一個傳入參數 * Callback將回傳error與result結果 */ client.ConvertText(_args, function(e,result){ if(e) console.log(e); console.log(result); }); });
Result:
# node examples/soap/sample02.js
{ Result: '0&success&338658' }