node.js 调用天气webservice接口
首先安装soap模块
npm install soap
1
2
3
4
5
6
7
8
9
10
|
var soap = require( 'soap' ); var args = { byProvinceName: '江苏' }; exports.soaptest = function (){soap.createClient(url, function (err, client) { client.getSupportCity(args, function (err, result) { console.log(result); }); }); } |
在模块lib中找到client.js
修改:
1
|
soapAction = this .SOAPAction ? this .SOAPAction(ns, name) : (method.soapAction || (((ns.lastIndexOf( "/" ) != ns.length - 1) ? ns + "/" : ns) + name)), |
为:
1
|
soapAction = method.soapAction || (((ns.lastIndexOf( "/" ) != ns.length - 1) ? ns + "/" : ns) + name), |
调用返回数据:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
< ArrayOfString xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd = "http://www.w3.org/2001/XMLSchema" xmlns = "http://WebXml.com.cn/" > < string >南京 (58238)</ string > < string >苏州 (58357)</ string > < string >昆山 (58356)</ string > < string >南通 (58259)</ string > < string >太仓 (58377)</ string > < string >吴县 (58349)</ string > < string >徐州 (58027)</ string > < string >宜兴 (58346)</ string > < string >镇江 (58248)</ string > < string >淮安 (58145)</ string > < string >常熟 (58352)</ string > < string >盐城 (58151)</ string > < string >泰州 (58246)</ string > < string >无锡 (58354)</ string > < string >连云港 (58044)</ string > < string >扬州 (58245)</ string > < string >常州 (58343)</ string > < string >宿迁 (58131)</ string > </ ArrayOfString >
|