Nodejs调用WebService的示例代码
程序员文章站
2022-04-28 23:44:55
这两天一直在试着编写纯静态页面的js去调用由java编写的webservice,一直无法成功(主要工期比较赶,待后面比较闲的时候再来研究,看能不能写一个纯静态页面的js去调...
这两天一直在试着编写纯静态页面的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='//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
进行测试,得到的结果会根据服务端返回的数据,我这里得到的是一个json数据.(会根据服务端返回的数据,我这里得到的是一个json数据。
注意://www.jb51.net替换成自己的服务的命名空间,var url='//www.jb51.net/webservice/webservice?wsdl';替换成自己的服务地址,args参数最好不要用new array()来创建,采用json数据,参数数量更具实际需要进行设置。最后,如果要在浏览器上运行,还要解决安全性问题才能正常使用。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: CAS单点登录原理简单介绍
下一篇: Hive Join的实现原理