溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Nodejs調(diào)用WebService的示例代碼

發(fā)布時間:2020-10-09 09:49:49 來源:腳本之家 閱讀:322 作者:acproject 欄目:web開發(fā)

這兩天一直在試著編寫純靜態(tài)頁面的js去調(diào)用由Java編寫的WebService,一直無法成功(主要工期比較趕,待后面比較閑的時候再來研究,看能不能寫一個純靜態(tài)頁面的js去調(diào)用WebService的),最后 沒有辦法只有改成Node JS去調(diào)用WebService。本想在網(wǎng)上找一些資料,發(fā)現(xiàn)沒有讓人滿意的,最后還是只能去參考官網(wǎng)的文檔,結(jié)合自己的需求做了一個Client端的程序,希望對大家有所幫助。

Nodejs調(diào)用WebService的示例代碼 

首先來做前期準(zhǔn)備工作,假設(shè)你已經(jīng)安裝了nodejs,因?yàn)槲覜]有通過工程來設(shè)置,直接通過命令來實(shí)現(xiàn),所以下面先來安裝需要用的nodejs的包(如果通過工程的方式,可以配置package.json來實(shí)現(xiàn))

命令如下

npm install soap 
npm install sinon 
npm install request 
npm install debug 
npm install lodash 
npm install soap 
npm install concat-stream 
npm install optional 
npm install ejs 
npm install xml-crypto 
npm install node-uuid 
npm install sax 
npm install strip-bom 
npm install selectn 
npm install mocha –save-dev

安裝完這一部分的東西后就可以開始寫代碼了。文件名myServer.js。

代碼如下

var wsdlOptions ={
  "overrdeRootElement":{
    "namespace":"xmlns:tns",
    "xmlnsAttributes":[{
        "name":"xmlns:ns",
        "value":"http://www.yourCompany.com"
    }]
  }
};

var url='https://www.jb51.net/WebService/WebService?wsdl';

var soap=require('soap');

var args={'Param1':'value1','Param2':'value2'};
soap.createClient(url,wsdlOptions,function(err,client){
if(err!==null){
console.log(err);
}
// client.setSOAPAction(url);
client.MyService(args,function(err,result){
if(err!==null){
console.log(err);
}
console.log
(result);
});

});

通過命令

node myServer.js

進(jìn)行測試,得到的結(jié)果會根據(jù)服務(wù)端返回的數(shù)據(jù),我這里得到的是一個JSON數(shù)據(jù).(會根據(jù)服務(wù)端返回的數(shù)據(jù),我這里得到的是一個JSON數(shù)據(jù)。

注意:https://www.jb51.net替換成自己的服務(wù)的命名空間,var url='https://www.jb51.net/WebService/WebService?wsdl';替換成自己的服務(wù)地址,args參數(shù)最好不要用new Array()來創(chuàng)建,采用JSON數(shù)據(jù),參數(shù)數(shù)量更具實(shí)際需要進(jìn)行設(shè)置。最后,如果要在瀏覽器上運(yùn)行,還要解決安全性問題才能正常使用。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI