Nodejs调用WebService的示例代码


Posted in NodeJs onSeptember 29, 2017

这两天一直在试着编写纯静态页面的js去调用由Java编写的WebService,一直无法成功(主要工期比较赶,待后面比较闲的时候再来研究,看能不能写一个纯静态页面的js去调用WebService的),最后 没有办法只有改成Node JS去调用WebService。本想在网上找一些资料,发现没有让人满意的,最后还是只能去参考官网的文档,结合自己的需求做了一个Client端的程序,希望对大家有所帮助。

Nodejs调用WebService的示例代码 

首先来做前期准备工作,假设你已经安装了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='https://3water.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数据。

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

NodeJs 相关文章推荐
nodejs win7下安装方法
May 24 NodeJs
Nodejs sublime text 3安装与配置
Jun 19 NodeJs
NodeJs中的VM模块详解
May 06 NodeJs
Nodejs实现短信验证码功能
Feb 09 NodeJs
nodejs获取微信小程序带参数二维码实现代码
Apr 12 NodeJs
NodeJs通过async/await处理异步的方法
Oct 09 NodeJs
nodejs中art-template模板语法的引入及冲突解决方案
Nov 07 NodeJs
nodejs用gulp管理前端文件方法
Jun 24 NodeJs
详解nodejs 配置文件处理方案
Jan 02 NodeJs
nodejs微信开发之接入指南
Mar 17 NodeJs
nodeJs的安装与npm全局环境变量的配置详解
Jan 06 NodeJs
详解nodejs内置模块
May 06 NodeJs
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
Sep 29 #NodeJs
Nodejs实现文件上传的示例代码
Sep 26 #NodeJs
详解nodejs通过代理(proxy)发送http请求(request)
Sep 22 #NodeJs
使用vs code开发Nodejs程序的使用方法
Sep 21 #NodeJs
详解使用vscode+es6写nodejs服务端调试配置
Sep 21 #NodeJs
在Debian(Raspberry Pi)树莓派上安装NodeJS的教程详解
Sep 19 #NodeJs
Nodejs中使用phantom将html转为pdf或图片格式的方法
Sep 18 #NodeJs
You might like
php桌面中心(四) 数据显示
2007/03/11 PHP
快速开发一个PHP扩展图文教程
2008/12/12 PHP
php笔记之:数据类型与常量的使用分析
2013/05/14 PHP
2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题
2014/04/08 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
根据判断浏览器类型屏幕分辨率自动调用不同CSS的代码
2007/02/22 Javascript
用ASP将SQL搜索出来的内容导出为TXT的代码
2007/07/27 Javascript
简单实例处理url特殊符号&处理(2种方法)
2013/04/02 Javascript
js控制分页打印、打印分页示例
2014/02/08 Javascript
javascript 10进制和62进制的相互转换
2014/07/31 Javascript
简单方法判断JavaScript对象为null或者属性为空
2014/09/26 Javascript
JS 滚动事件window.onscroll与position:fixed写兼容IE6的回到顶部组件
2016/10/10 Javascript
Vue+ElementUI实现表单动态渲染、可视化配置的方法
2018/03/07 Javascript
vuex actions传递多参数的处理方法
2018/09/18 Javascript
微信小程序学习笔记之跳转页面、传递参数获得数据操作图文详解
2019/03/28 Javascript
Vue Cli3 打包配置并自动忽略console.log语句的方法
2020/04/23 Javascript
JavaScript 引用类型实例详解【数组、对象、严格模式等】
2020/05/13 Javascript
[01:02:10]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第一局
2016/02/26 DOTA
[45:34]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第一场 12.18
2020/12/19 DOTA
Python实现获取操作系统版本信息方法
2015/04/08 Python
Python下载指定页面上图片的方法
2016/05/12 Python
Windows环境下python环境安装使用图文教程
2018/03/13 Python
从django的中间件直接返回请求的方法
2018/05/30 Python
python计算两个矩形框重合百分比的实例
2018/11/07 Python
Python小程序之在图片上加入数字的代码
2019/11/26 Python
Python assert关键字原理及实例解析
2019/12/13 Python
Python 调用有道翻译接口实现翻译
2020/03/02 Python
python压包的概念及实例详解
2021/02/17 Python
html5 实现客户端验证上传文件的大小(简单实例)
2016/05/15 HTML / CSS
来自全球大都市的高级街头服饰:Pegador
2018/01/03 全球购物
中国梦演讲稿范文
2014/08/28 职场文书
村党组织公开承诺书
2015/04/30 职场文书
企业反腐倡廉心得体会
2015/08/15 职场文书
2019暑期安全倡议书!
2019/06/27 职场文书
Java版 单机五子棋
2022/05/04 Java/Android
python数据分析之单因素分析线性拟合及地理编码
2022/06/25 Python