title: Getting error Response with status: 404 Not Found for URL
body: <p>I am facing an issue while running the angular and nodejs app which I am trying to integrate with Neo4j app. The issues are the errors that I get-</p>
  
  <pre><code>POST http://localhost:7474/viewNodesStart 404 (Not Found)
  </code></pre>
  
  <p>and </p>
  
  <pre><code>EXCEPTION: Response with status: 404 Not Found for URL: 
  http://localhost:7474/viewNodesStart
  </code></pre>
  
  <p>Though this topic is repetitive in StackOverflow , I am still posting it because the following links suggestions didn't suit my issue.</p>
  
  <p><a href="https://stackoverflow.com/questions/42321466/angular2-404-not-found-for-url-http-localhost-webapi2-api-hero">Angular2 404 Not Found for URL: http://localhost/WebApi2/api/hero</a></p>
  
  <p><a href="https://stackoverflow.com/questions/41989802/exception-response-with-status-404-not-found-for-url-angular2">EXCEPTION: Response with status: 404 Not Found for URL / Angular2</a></p>
  
  <p><a href="https://github.com/johnpapa/angular-tour-of-heroes/issues/94" rel="nofollow noreferrer">https://github.com/johnpapa/angular-tour-of-heroes/issues/94</a></p>
  
  <p>Please check my code</p>
  
  <p><strong>app.component.ts</strong></p>
  
  <pre><code>import { Component, OnInit } from '@angular/core';
  import { Injectable } from '@angular/core';
  
  import { ToasterService } from '../toaster.service';
  
  import { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';
  import { Http, Response, Headers } from '@angular/http';
  import { config } from '../config';
  import { Subject } from 'rxjs';
  import 'rxjs/add/operator/map';
  import { map } from 'rxjs/operators';
  import 'rxjs/Rx';
  import { Observable } from 'rxjs';
  
  // Statics
  import 'rxjs/add/observable/throw';
  
  
  @Component({
    selector: 'app-neo4j-primary',
    templateUrl: './neo4j-primary.component.html',
    styleUrls: ['./neo4j-primary.component.css']
  })
  
  export class Neo4jPrimaryComponent implements OnInit {
  
    constructor(private http: Http,  private notify: ToasterService) { }
  
    ngOnInit() {
      this.viewNodesStart();
    }
  
  
    emptyObj;
    info;
  
    // -------------------------------  Nodes Entire Data --------------
  
     viewNodesStart() {
  
      console.log("INSIDE viewNodesStart()")
  
      // Nodes Value
  
      console.log("inside Nodes Value");
      var data = localStorage.getItem('token');
  
      console.log("data is=&gt;",data);
  
      var url = config.url;
      var port = config.port;
  
      this.http.post("http://"+url+":"+port+"/viewNodesStart",this.emptyObj)
        .map(Response =&gt; Response.json())
        .subscribe((res: Response) =&gt; {
  
          console.log("XXXXXXXXXXXX Response on /viewNodesStart", res);
  
          this.info = res;
  
          console.log('success', this.info.statusCode);
          if (this.info.statusCode == 200) {
            this.notify.Success("Data added successfully");
  
          } else {
            this.notify.Error("Data is not inserted")
          }
        });
  
    }
  
  }
  </code></pre>
  
  <p><strong>server.js</strong></p>
  
  <pre><code>var express = require('express');
  var cors = require('cors');
  var bodyParser = require('body-parser');
  const neo4j = require('neo4j-driver').v1;
  
  var app = express();
  var restify = require('restify');
  var expressJwt = require('express-jwt');
  var session = require('express-session');
  var config = require('./config.json')
  
  app.use(restify.plugins.bodyParser());
  
  app.use(bodyParser.urlencoded({
    extended: false
  }));
  
  app.use(bodyParser.json());
  
  app.use(bodyParser.json({
    type: 'application/vnd.api+json'
  }))
  
  app.use(cors());
  
  app.use(session({
    secret: config.secret,
    resave: false,
    saveUninitialized: true
  }));
  
  //*****TM Server ******/
  
  app.use('/viewNodesStart', require('./neo4jserver/tmserver'));
  
  app.get('/', function(req, res) {
    res.send('Welcome');
    console.log("welcome in console");
  
  });
  
  // start server
  var server = app.listen(7473, function() {
    console.log('Server listening at http://' + server.address().address + ':' + server.address().port);
  });
  </code></pre>
  
  <p><strong>nodeserver.js</strong></p>
  
  <pre><code>// Require Neo4j
  var neo4j = require('neo4j-driver').v1;
  var path = require('path');
  var logger = require('morgan');
  var bodyParser = require('body-parser');
  var express = require('express');
  
  var router = express.Router();
  var app = express();
  
  // Create Driver
  const driver = new neo4j.driver("bolt://localhost:11001",neo4j.auth.basic("neo4j", "abc"));
  
  // Run Cypher query
  const cypher = 'MATCH (n) RETURN count(n) as count';
  
  //View Engine
  
  app.set('views', path.join(__dirname, 'views'));
  
  app.use(logger('dev'));
  app.use(bodyParser.json());
  app.use(bodyParser.urlencoded({
    extended: false
  }));
  app.use(express.static(path.join(__dirname, 'public')));
  
  var session = driver.session();
  
  app.post('/', function(req, res) {
    console.log("INSIDE NODE JS CONTROLLER OF viewNodesStart");
    console.log("BODY IS ", req.body);
  
    var log = JSON.parse(req.body);
  
    console.log(log);
    session.run('MATCH (n) RETURN n LIMIT 25').then(function(result) {
      result.records.forEach(function(record) {
        console.log("record", record);
        console.log("result = ", result)
  
        console.log("record._fields[0].properties", record._fields[0].properties);
        res.status(200).send({
          statusCode: '200',
          result: result
        });
      });
    }).catch(function(err) {
      console.log(err);
    }).then(res=&gt;{
      console.log("res.records.length", res.records.length);
    }
    )
    res.send('It Works');
    res.send(result);
  
  });
  
  var allowCrossDomain = function(req, res, next) {
    res.header('Access-Control-Allow-Origin', '*');
    res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
    res.header('Access-Control-Allow-Headers', 'Content-Type');
    if (req.method === "OPTIONS")
      res.send(200);
    else
      next();
  }
  
  console.log('Server started on port 11005');
  
  module.exports = router;
  module.exports = app;
  </code></pre>