Nodejs調(diào)用WebService的示例代碼
這兩天一直在試著編寫純靜態(tài)頁面的js去調(diào)用由Java編寫的WebService,一直無法成功(主要工期比較趕,待后面比較閑的時(shí)候再來研究,看能不能寫一個(gè)純靜態(tài)頁面的js去調(diào)用WebService的),最后 沒有辦法只有改成Node JS去調(diào)用WebService。本想在網(wǎng)上找一些資料,發(fā)現(xiàn)沒有讓人滿意的,最后還是只能去參考官網(wǎng)的文檔,結(jié)合自己的需求做了一個(gè)Client端的程序,希望對(duì)大家有所幫助。
首先來做前期準(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='http://www.dhdzp.com/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é)果會(huì)根據(jù)服務(wù)端返回的數(shù)據(jù),我這里得到的是一個(gè)JSON數(shù)據(jù).(會(huì)根據(jù)服務(wù)端返回的數(shù)據(jù),我這里得到的是一個(gè)JSON數(shù)據(jù)。
注意:http://www.dhdzp.com替換成自己的服務(wù)的命名空間,var url='http://www.dhdzp.com/WebService/WebService?wsdl';替換成自己的服務(wù)地址,args參數(shù)最好不要用new Array()來創(chuàng)建,采用JSON數(shù)據(jù),參數(shù)數(shù)量更具實(shí)際需要進(jìn)行設(shè)置。最后,如果要在瀏覽器上運(yùn)行,還要解決安全性問題才能正常使用。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
淺談Express.js解析Post數(shù)據(jù)類型的正確姿勢(shì)
這篇文章主要介紹了Express.js解析Post數(shù)據(jù)類型的正確姿勢(shì),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-05-05
Linux?Ubuntu升級(jí)nodejs版本的簡單步驟
Node.js是一種對(duì)應(yīng)于JavaScript運(yùn)行時(shí)環(huán)境的編程語言,這篇文章主要給大家介紹了關(guān)于Linux?Ubuntu升級(jí)nodejs版本的簡單步驟,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12
淺析Node.js中使用依賴注入的相關(guān)問題及解決方法
這篇文章主要介紹了淺析Node.js中使用依賴注入的相關(guān)問題及解決方法,Node.js是一個(gè)將JavaScript應(yīng)用運(yùn)行于服務(wù)器端的框架,需要的朋友可以參考下2015-06-06
node.js實(shí)現(xiàn)微信JS-API封裝接口的示例代碼
這篇文章主要介紹了node.js實(shí)現(xiàn)微信JS-API封裝接口的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09

