我使用节点肥皂创建了一个Web服务。在Web服务的一项功能中,我正在使用console.log打印输入数据。然后,我在客户端上调用相同的函数。我打开一个外壳并运行“ node docService.js”;这将运行网络服务。然后打开另一个外壳并运行“ node accessDoc.js”;这将运行客户端。但是,我在运行该服务的第一个外壳上看不到任何日志。如果您想知道为什么我要调试Web服务:我想弄清楚为什么客户端返回{“ Body”:null}作为结果而不是根据Web服务函数返回值下面。以下是我的网络服务,我的客户端和wsdl链接:
此处的wsdl链接:wsdl link
网络服务:
var http = require('http');
var soap = require('soap');
var express = require('express');
var bodyParser = require('body-parser');
var base = process.env.PWD;
var myService = {
MyService: {
MyPort: {
post_csvDoc: function(args) {
console.log("Hereeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee");
console.log(args.csvDoc);
return {returnCode: 200};
},
post_jsonDoc: function(args) {
return {returnCode: 200};
},
post_pdfDoc: function(args) {
return {returnCode: 200};
},
get_csvDoc: function(args) {
console.log("Hereeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee");
console.log(args.month);
return {csvDoc: "FirstDoc"};
},
get_jsonDoc: function(args) {
return {jsonDoc: "SecondDoc"};
},
get_pdfDoc: function(args) {
return {pdfDoc: "ThirdDoc"};
},
}
}
};
var xml = require('fs').readFileSync(base + '/myservice.wsdl', 'utf8');
//http server example
var server = http.createServer(function(request,response) {
response.end('404: Not Found: ' + request.url);
});
server.listen(8000);
/*server.log = function(type, data) {
// type is 'received' or 'replied'
console.log(data);
};*/
soap.listen(server, '/wsdl', myService, xml);
//express server example
var app = express();
//body parser middleware are supported (optional)
app.use(bodyParser.raw({type: function(){return true;}, limit: '5mb'}));
app.listen(8001, function(){
//Note: /wsdl route will be handled by soap module
//and all other routes & middleware will continue to work
soap.listen(app, '/wsdl', myService, xml);
});
客户代码:
var soap = require('soap');
var url = 'http://127.0.0.1:8000/wsdl?wsdl';
var options = {
}
var requestArgs = {csvDoc: "kjsdnjcn"};
console.log('here0000000000000000000000000000');
soap.createClient(url,options,function(err, client) {
//console.log(client);
console.log('here4444444444444444444444444444');
client.post_csvDoc(requestArgs, function(err, result) {
//console.log(result);
console.log('Result: \n' + JSON.stringify(result));
});
});