首页 > 解决方案 > Node Soap - http 获取请求返回 index.html

问题描述

我正在使用https://github.com/vpulim/node-soap一个用于 node.js 的肥皂客户端和服务器

我已经创建了自己的 SOAP 服务器。客户端可以在 SOAP 服务器上执行方法,服务器会向客户端发送符合相应客户端期望的响应。

代码片段:

const myService = {
SubsystemProductionService: {
    SubsystemProductionServicePort: {
    ...
    }}};

const wsdlxml = fs.readFileSync('./my.wsdl', 'utf8'),
server = http.createServer(function (request, response) {        
    response.end("404: Not Found: " + request.url);
});

// example call: PORT=9999 node app.js

const PORT = process.env.PORT || 3000;
server.listen(PORT);
console.log('server running on port ' + PORT);
soap.listen(server, '/myService', myService, wsdlxml);

但是,在客户端在 SOAP 服务器上执行一个方法之前,客户端会发送一个 HTTP GET 请求并期望得到一个响应,例如:

HTTP 状态码 200 + index.html

问题是,我的 SOAP 服务响应:

HTTP 状态代码 200 + 空正文

每个对 /myService 的 HTTP GET 请求都将由 soap 模块处理,并且似乎HTTP 状态代码 200 + 空正文是默认情况。

我怎样才能改变肥皂服务的行为以返回:

HTTP 状态码 200 + index.html

代替

HTTP 状态码 200 + 空正文

响应 HTTP GET 请求?

此致

标签: javascriptnode.jsnode-soap

解决方案


推荐阅读