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
<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>

 

posted @ 2015-11-20 22:53  {前端开发}  阅读(1151)  评论(0编辑  收藏  举报