首先安装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.setSOAPAction(
"http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getSupportCity"
);
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
>
|