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(二)--- Node.js事件模块
May 21 NodeJs
轻松创建nodejs服务器(9):实现非阻塞操作
Dec 18 NodeJs
NodeJS中Buffer模块详解
Jan 07 NodeJs
浅析nodejs实现Websocket的数据接收与发送
Nov 19 NodeJs
nodejs爬虫遇到的乱码问题汇总
Apr 07 NodeJs
nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)
Jul 05 NodeJs
nodejs中安装ghost出错的原因及解决方法
Oct 23 NodeJs
详解Nodejs内存治理
May 13 NodeJs
通过nodejs 服务器读取HTML文件渲染到页面的方法
May 17 NodeJs
NodeJS 实现多语言的示例代码
Sep 11 NodeJs
NodeJs之word文件生成与解析的实现代码
Apr 01 NodeJs
Nodejs + Websocket 指定发送及群聊的实现
Jan 09 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表单提交与$_POST实例分析
2015/01/26 PHP
js树形控件脚本代码
2008/07/24 Javascript
javascript 进阶篇3 Ajax 、JSON、 Prototype介绍
2012/03/14 Javascript
谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)
2015/10/01 Javascript
BootStrap中Datepicker控件带中文的js文件
2016/08/10 Javascript
简单三步实现报表页面集成天气
2016/12/15 Javascript
vue-cli如何快速构建vue项目
2017/04/26 Javascript
详解Angular-Cli中引用第三方库
2017/05/21 Javascript
JS判断一个数是否是水仙花数
2017/06/11 Javascript
BootStrap TreeView使用实例详解
2017/11/01 Javascript
Linux Centos7.2下安装nodejs&npm配置全局路径的教程
2018/05/15 NodeJs
Vue的Options用法说明
2020/08/14 Javascript
jQuery实现动态加载瀑布流
2020/09/01 jQuery
[10:53]2018DOTA2国际邀请赛寻真——EG
2018/08/11 DOTA
[01:32]dota2拉比克至宝(222)
2018/12/20 DOTA
详解Python中用于计算指数的exp()方法
2015/05/14 Python
Python使用multiprocessing创建进程的方法
2015/06/04 Python
实例探究Python以并发方式编写高性能端口扫描器的方法
2016/06/14 Python
python对list中的每个元素进行某种操作的方法
2018/06/29 Python
python format 格式化输出方法
2018/07/16 Python
pycharm 配置远程解释器的方法
2018/10/28 Python
解决pycharm不能自动补全第三方库的函数和属性问题
2020/03/12 Python
python3通过qq邮箱发送邮件以及附件
2020/05/20 Python
Keras-多输入多输出实例(多任务)
2020/06/22 Python
python中selenium库的基本使用详解
2020/07/31 Python
HTML5 用动画的表现形式装载图像
2016/03/08 HTML / CSS
HTML5 层的叠加的实现
2020/07/07 HTML / CSS
The North Face北面美国官网:美国著名户外品牌
2018/09/15 全球购物
写好自荐信的几个要点
2013/12/26 职场文书
在校大学生的职业生涯规划书
2014/03/14 职场文书
《动手做做看》教学反思
2014/04/09 职场文书
《学会合作》教学反思
2014/04/12 职场文书
关于晚自习早退的检讨书
2014/09/13 职场文书
使用redis实现延迟通知功能(Redis过期键通知)
2021/09/04 Redis
使用 Apache Dubbo 实现远程通信(微服务架构)
2022/02/12 Servers
MySQL 逻辑备份 into outfile
2022/05/15 MySQL