cancel
Showing results for 
Search instead for 
Did you mean: 

XS Advanced - Node.js Module - HDB Connection Error

rene_mueller02
Advisor
Advisor
1,946

Hello everybody,

i try to establish a connection and send some queries to the HANA 2.0 express edition, running on my laptop. I've build a XS Advanced app and now i'm writing a Node.js module using the sap-hdbext and express modules to establish a connection to the HDB like so:

module.exports = function() {
	var app = express();


	passport.use("JWT", new xssec.JWTStrategy(xsenv.getServices({
		uaa: {
			tag: "xsuaa"
		}
	}).uaa));
	app.use(passport.initialize());


	app.use(
		passport.authenticate("JWT", {
			session: false
		}),
		xsHDBConn.middleware()
	);


	//Simple Database Select - In-line Callbacks
	app.route("/simptab")
		.get(function(req, res) {
			var client = req.db;
			client.prepare(
				"select Test from \"project.db.data::SimpleTable\" ",
				function(err, statement) {
					if (err) {
						res.type("text/plain").status(500).send("ERROR: " + error);
						return;
					}
					statement.exec([],
						function(err, results) {
							if (err) {
								res.type("text/plain").status(500).send("ERROR: " + err);
								return;
							} else {
								var result = JSON.stringify({
									Objects: results
								});
								res.type("application/json").status(200).send(result);
							}
						});
				});
		});

I've setup the package.json file and the server.js and everything else just like in the Dev Guide and openSAP course.

But if i go to the URL "https://hxehost:....../node/simptab" to access my node module the following error occurs:

Error: Could not connect to any host: [ undefined:NaN - connect ECONNREFUSED 127.0.0.1 ]   at couldNotOpenConnectionError (/hana/shared/HXE/xs/controller_data/executionagent/executionroot/f6e141e5-a900-460a-a8b9-9052ee21b55d/app/node_modules/hdb/lib/protocol/ConnectionManager.js:130:13)   at ConnectionManager._openConnectionToHost (/hana/shared/HXE/xs/controller_data/executionagent/executionroot/f6e141e5-a900-460a-a8b9-9052ee21b55d/app/node_modules/hdb/lib/protocol/ConnectionManager.js:43:15)   at /hana/shared/HXE/xs/controller_data/executionagent/executionroot/f6e141e5-a900-460a-a8b9-9052ee21b55d/app/node_modules/hdb/lib/protocol/ConnectionManager.js:56:10   at Socket.onerror (/hana/shared/HXE/xs/controller_data/executionagent/executionroot/f6e141e5-a900-460a-a8b9-9052ee21b55d/app/node_modules/hdb/lib/protocol/Connection.js:168:5)   at Socket.g (events.js:291:16)   at emitOne (events.js:96:13)   at Socket.emit (events.js:188:7)   at emitErrorNT (net.js:1276:8)   at _combinedTickCallback (internal/process/next_tick.js:74:11)   at process._tickCallback (internal/process/next_tick.js:98:9)

What could be the cause? I've tried nearly every i could come up with to solve this but nothing worked.

Like i said, i've setup everything just like in the demos.

Please help.

draschke
Active Contributor
0 Kudos

Hi Rene,

we do have exactly the same issue. Could you find out what the reason of this behavior is?

BR,

Dirk

View Entire Topic
rene_mueller02
Advisor
Advisor
0 Kudos

Hi,

thank you Sören. Your answer is the right solution. Since posting my issue here, i've discovered this solution by myself.

I was confused by the videos of the openSAP course about HANA XS Advanced which never showed that these options have to be passed to the authentification module. I finally found the solution in the example project of the openSAP course.

Best regards,

René

Former Member
0 Kudos

Hey René,

I'm glad to hear that 🙂 I've encountered the same trouble with those videos as you did, so I left all of the SAP Tutorial stuff aside 😉

KR,
Sören