Node custom scripting error


#1

Hello everyone,
I’m using bitnami vers. DreamFactory,

Versions ; Admin Application Version: 2.1.3 and DreamFactory Version: 2.1.0

I follow the node.js math tutorial (node installation complete and .env file edited as you describe)

When i try to run script from test_rest_html, generate following error below;

{
“error”: {
“context”: null,
“message”: “Array to string conversion”,
“code”: 500,
“trace”: [
“0 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(8, ‘Array to string…’, ‘/opt/dreamfacto…’, 124, Array)”,
“1 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/vendor/dreamfactory/df-core/src/Services/Script.php(124): strval(Array)”,
“2 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/vendor/dreamfactory/df-core/src/Components/RestHandler.php(173): DreamFactory\Core\Services\Script->processRequest()”,
“3 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/vendor/dreamfactory/df-core/src/Services/BaseRestService.php(65): DreamFactory\Core\Components\RestHandler->handleRequest(Object(DreamFactory\Core\Utility\ServiceRequest), NULL)”,
“4 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/vendor/dreamfactory/df-core/src/Utility/ServiceHandler.php(57): DreamFactory\Core\Services\BaseRestService->handleRequest(Object(DreamFactory\Core\Utility\ServiceRequest), NULL)”,
“5 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(17669): DreamFactory\Core\Utility\ServiceHandler::processRequest(‘v2’, ‘math’, NULL)”,
“6 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(17634): DreamFactory\Http\Controllers\RestController->handleService(‘v2’, ‘math’, NULL)”,
“7 [internal function]: DreamFactory\Http\Controllers\RestController->handleGET(‘v2’, ‘math’)”,
“8 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(8873): call_user_func_array(Array, Array)”,
“9 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(8942): Illuminate\Routing\Controller->callAction(‘handleGET’, Array)”,
“10 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(8922): Illuminate\Routing\ControllerDispatcher->call(Object(DreamFactory\Http\Controllers\RestController), Object(Illuminate\Routing\Route), ‘handleGET’)”,
“11 [internal function]: Illuminate\Routing\ControllerDispatcher->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))”,
“12 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(9593): call_user_func(Object(Closure), Object(Illuminate\Http\Request))”,
“13 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(17817): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))”,
“14 [internal function]: DreamFactory\Http\Middleware\AccessCheck->handle(Object(Illuminate\Http\Request), Object(Closure))”,
“15 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(9585): call_user_func_array(Array, Array)”,
“16 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))”,
“17 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(9575): call_user_func(Object(Closure), Object(Illuminate\Http\Request))”,
“18 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(8923): Illuminate\Pipeline\Pipeline->then(Object(Closure))”,
“19 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(8908): Illuminate\Routing\ControllerDispatcher->callWithinStack(Object(DreamFactory\Http\Controllers\RestController), Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request), ‘handleGET’)”,
“20 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(7862): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request), ‘DreamFactory\\Ht…’, ‘handleGET’)”,
“21 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(7833): Illuminate\Routing\Route->runWithCustomDispatcher(Object(Illuminate\Http\Request))”,
“22 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(7486): Illuminate\Routing\Route->run(Object(Illuminate\Http\Request))”,
“23 [internal function]: Illuminate\Routing\Router->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))”,
“24 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(9593): call_user_func(Object(Closure), Object(Illuminate\Http\Request))”,
“25 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))”,
“26 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(9575): call_user_func(Object(Closure), Object(Illuminate\Http\Request))”,
“27 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(7487): Illuminate\Pipeline\Pipeline->then(Object(Closure))”,
“28 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(7475): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))”,
“29 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(7460): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))”,
“30 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(2307): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))”,
“31 [internal function]: Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))”,
“32 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(9593): call_user_func(Object(Closure), Object(Illuminate\Http\Request))”,
“33 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/app/Http/Middleware/AuthCheck.php(170): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))”,
“34 [internal function]: DreamFactory\Http\Middleware\AuthCheck->handle(Object(Illuminate\Http\Request), Object(Closure))”,
“35 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(9585): call_user_func_array(Array, Array)”,
“36 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/vendor/barryvdh/laravel-cors/src/HandleCors.php(34): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))”,
“37 [internal function]: Barryvdh\Cors\HandleCors->handle(Object(Illuminate\Http\Request), Object(Closure))”,
“38 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(9585): call_user_func_array(Array, Array)”,
“39 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(17909): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))”,
“40 [internal function]: DreamFactory\Http\Middleware\FirstUserCheck->handle(Object(Illuminate\Http\Request), Object(Closure))”,
“41 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(9585): call_user_func_array(Array, Array)”,
“42 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(12961): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))”,
“43 [internal function]: Illuminate\View\Middleware\ShareErrorsFromSession->handle(Object(Illuminate\Http\Request), Object(Closure))”,
“44 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(9585): call_user_func_array(Array, Array)”,
“45 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(11555): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))”,
“46 [internal function]: Illuminate\Session\Middleware\StartSession->handle(Object(Illuminate\Http\Request), Object(Closure))”,
“47 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(9585): call_user_func_array(Array, Array)”,
“48 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(12698): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))”,
“49 [internal function]: Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Illuminate\Http\Request), Object(Closure))”,
“50 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(9585): call_user_func_array(Array, Array)”,
“51 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(12635): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))”,
“52 [internal function]: Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Illuminate\Http\Request), Object(Closure))”,
“53 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(9585): call_user_func_array(Array, Array)”,
“54 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(2982): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))”,
“55 [internal function]: Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))”,
“56 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(9585): call_user_func_array(Array, Array)”,
“57 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))”,
“58 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(9575): call_user_func(Object(Closure), Object(Illuminate\Http\Request))”,
“59 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(2254): Illuminate\Pipeline\Pipeline->then(Object(Closure))”,
“60 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/bootstrap/cache/compiled.php(2237): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))”,
“61 /opt/dreamfactory-2.1.0-4/apps/dreamfactory/htdocs/public/index.php(53): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))”,
“62 {main}”
]
}
}

How can i solve this?


#2

It looks like there is some problem in your script. Please share your code so we can have a better idea of what is going on.


#3

There were some significant bugs with Node in 2.1.0 – resolved in 2.1.1.
I don’t know off the top of my head if this was one of them, but it might be worth upgrading to see.


#4

I used the following tutorial : http://wiki.dreamfactory.com/DreamFactory/Tutorials/Node_custom_scripting_service_math


#5

I upgrade to 2.1.1 and problem solved. Thank you @drewpearce


#6

Hello folks,
I have DF installed in windows with Admin Application Version: 2.1.3 ,DreamFactory Version: 2.1.0

  1. I added custom server side script using the example - math node.js script by following exact steps provided in the blog http://blog.dreamfactory.com/server-side-scripting-with-node.js

  2. Added swagger service definition with the help of this blog…
    http://blog.dreamfactory.com/put-some-swagger-in-your-dreamfactory-custom-scripting-services

  3. updated DF_NODEJS_PATH in .env file to point to node installables

  4. node.js version is v 4.5.0

When trying to test using swagger, i am getting nulls as result.

Request URL: localhost/api/v2/math/add?n1=10&n2=10
Response Body : ""
Response Code:200

Checked the log and it has following messages -

[2016-08-30 03:28:58] local.ERROR: * Script did not return an array:
[2016-08-30 03:28:58] local.DEBUG: Service event: math.get.post_process
[2016-08-30 03:29:08] local.DEBUG: Service event: math.get.pre_process
[2016-08-30 03:29:09] local.ERROR: Exception executing javascript: Node script returned with error code: 1

Please let me know what is that i am missing… causing this error to appear…

SS


#7

can you navigate to the htdocs folder and do
npm install lodash

You may need to provide the full path to the npm executable