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' }

results matching ""

    No results matching ""