Nodejs调用WebService

本文介绍了如何使用Node.js调用由Java编写的WebService。在时间紧迫的情况下,作者选择了Node.js而非纯静态JavaScript,并详细说明了调用过程,包括安装必要的npm包(如soap、sinon等)和编写代码示例。最后提醒读者注意处理服务地址和参数,以及在浏览器运行时的安全性问题。

这两天一直在试着编写纯静态页面的js去调用由Java编写的WebService,一直无法成功(主要工期比较赶,待后面比较闲的时候再来研究,看能不能写一个纯静态页面的js去调用WebService的),最后 没有办法只有改成Node JS去调用WebService。本想在网上找一些资料,发现没有让人满意的,最后还是只能去参考官网的文档,结合自己的需求做了一个Client端的程序,希望对大家有所帮助。
这里写图片描述
首先来做前期准备工作,假设你已经安装了nodejs,因为我没有通过工程来设置,直接通过命令来实现,所以下面先来安装需要用的nodejs的包(如果通过工程的方式,可以配置package.json来实现)

命令如下

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.yourCompany.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

进行测试,得到的结果会根据服务端返回的数据,我这里得到的是一个JSON数据.(会根据服务端返回的数据,我这里得到的是一个JSON数据。

注意:http://www.yourCompany.com替换成自己的服务的命名空间,var url=’http://www.yourCompany.com/WebService/WebService?wsdl’;替换成自己的服务地址,args参数最好不要用new Array()来创建,采用JSON数据,参数数量更具实际需要进行设置。最后,如果要在浏览器上运行,还要解决安全性问题才能正常使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值