首页 文章

节点ACS 404未找到Java http客户端的响应代码

提问于
浏览
2

我正在开发一个项目,其中有一个Java调度程序,它是一个HTTP客户端,并将xml作为数据发送到我的节点应用程序 . 在application.js的索引函数中,我已经编写了我的逻辑来接收xml并将相应的xml转换为json但是当我运行我的应用程序时,我从acs获得404响应代码但是当我从浏览器发送请求时它也一样 . 请告诉我我在这方面缺少的东西 . 我发布了java http客户端和节点acs代码 .

Java HTTP Client Code is

URL url = new URL("http://localhost:port/");
    HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
    httpCon.setDoOutput(true);
    httpCon.setRequestMethod("POST");
    DataOutputStream os = new DataOutputStream(
    httpCon.getOutputStream());
    PrintWriter pw = new PrintWriter(os);
    pw.println(xmlString.toString());
    pw.flush();
    System.out.println(httpCon.getResponseCode());
    System.out.println(httpCon.getResponseMessage());

Following is my ACS index function:

function index(req, res) {
        console.log("TEST *********************************");
        req.on('data', function (data) {
            console.log("Data arrived");
        });
        req.on('end', function () {
            console.log('POSTed: ');
            res.writeHead(200);
            res.end();
        });
    }

I am runnig the code as: acs run --port 7654

从上面的代码我在我的java http客户端获得404响应代码但是如果我在一个简单的js文件中编写相同的节点逻辑:

http.createServer(function (req, res) {
        req.on('data', function (data) {
            console.log("Data Arrived");
        });
      req.on('end', function () {
        console.log('Done');
        res.writeHead(200);
        res.end();
      });
    }).listen('7654', function(){
    console.log("Server Connected to : "+ 7654);
    });

并运行与 node <jsfilename> 相同然后它工作正常并向java http客户端发送200 OK响应 .

1- 我在Node ACS应用程序中遗漏了什么?

2- 我们是否需要在node acs app中配置http服务器,因为如果我在application.js文件中编写以下逻辑,那么它也在节点acs中工作:

http.createServer(function (req, res) {
        req.on('data', function (data) {
            console.log("Data Arrived");
        });
      req.on('end', function () {
        console.log('Done');
        res.writeHead(200);
        res.end();
      });
    }).listen('7654', function(){
    console.log("Server Connected to : "+ 7654);
    });

1 回答

  • 1

    我找到了解决方案 . Java调度程序HTTP请求是POST请求,而在NodeACS应用程序中,索引方法我没有提到方法属性 . 现在我提到 "method":"POST" 然后它工作正常 .

相关问题