我正在使用Node-Soap库从我的 node.js 服务器调用外部 Web 服务,代码如下所示:
var http = require("http");
var soap = require("soap");
var url = 'http://www.w3schools.com/webservices/tempconvert.asmx?wsdl';
var args = {Celsius: '40'};
http.createServer(function(request,response) {
response.writeHead(200,{"Content-Type":"text/html"});
response.write("<h1>Hello, Web!</h1>");
soap.createClient(url, function(err, client) {
client.CelsiusToFahrenheit(args, function(err, result) {
console.log(result); //This works
response.write(result); //This doesn't print
});
});
response.end();
}).listen(8888);
我能够成功调用网络服务并能够得到响应。问题是当我result
使用 console.log() 打印时,我能够得到输出:
{ CelsiusToFahrenheitResult: '104' }
但是当我通过 response.write 发送它时,我无法获得任何输出,我会得到空白值。我尝试给予result.toString()
,JSON.stringify(result)
但我仍然变得空白。
你能帮我么?为什么我可以使用 console.log 打印数据,但不能使用 response.write?