Node.js 使用 soap 模块请求 WebService 服务接口

Posted Back to Reff.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Node.js 使用 soap 模块请求 WebService 服务接口相关的知识,希望对你有一定的参考价值。

项目开发中需要请求webservice服务,前端主要使用node.js 作为运行环境,因此可以使用soap进行请求。

使用SOAP请求webservice服务的流程如下:

1、进入项目目录,安装 soap 模块

> npm install soap --save-dev

2、在项目的 node_modules 目录下找到soap模块下的 lib > client.js,

修改代码:

soapAction = ((ns.lastIndexOf("/") !== ns.length - 1) ? ns + "/" : ns) + name;

为:

soapAction = method.soapAction || (((ns.lastIndexOf(\'/\') !== ns.length - 1) ? ns + \'/\': ns) + name);

 3、请求代码

 1   var soap = require(\'soap\');
 2   var url = \'http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl\';
 3   var args = { byProvinceName: \'浙江\'};
 4   soap.createClient(url, function(err, client) {
 5     client.getSupportCity(args, function(err, result) {
 6       if (err) {
 7         console.log(err);
 8       }else {
 9         console.log(result);
10       }  
11     });
12   });

4、运行代码,在命令行窗口查看结果

 

除了soap模块,还有strong-soap, easysoap 等模块都可以请求webservice服务。使用方法类似。

关于webservice、SOAP、WSDL的相关知识,可以查看以下链接:

http://blog.csdn.net/u014511737/article/details/46986389

http://www.jianshu.com/p/5443f90e36de

https://segmentfault.com/a/1190000006807566

http://download.csdn.net/detail/zxktxj/8643733

 

以上是关于Node.js 使用 soap 模块请求 WebService 服务接口的主要内容,如果未能解决你的问题,请参考以下文章

在Node.js SOAP客户端中设置授权

如何更改node.js中soap包生成的xml?

java使用POST发送soap报文请求webservice返回500错误解析

需要 SOAP - Node JS 包失败并在 AWS Lambda 中出现导入错误

Node.js:如何使用 SOAP XML Web 服务

Node.js 请求模块获取 ETIMEDOUT 和 ESOCKETTIMEDOUT