Simple hello world app


#1

Hi,
I am trying to create an application which simply returns hello world. This is what I have done:

  1. create service hello
    - v8js simply return “hello world”

  2. then I created a role “test” and gave it permission to access hello service using GET

  3. I created app “HelloWorldApp” and gave access path as /test/

Then on another machine i tried to create a client and invoke HelloWorldApp (path= /test/hello) but its giving me 404 , reason=not found

Can anyone please tell me what am i doing wrong?

Thanks
Shashank


#2

Are you sending header information?


#3

Hi Kim,
yes I am sending header info ( api_key=*)


#4

Does calling your service work in your API docs?

And then if so have you tried using /test_rest.html ? Just make sure to include your test login/pass combo, your API key, and obviously the URL (took me awhile to figure out I needed the API key).

Finally once you get those two things working give it a shot in your external platform.


#5

Hi rdubya,
I am getting the ‘loadsh’ module not found error, others have reported it as well. I guess its a bug in the newer version.
But my question is this -
how can i access my service ? is it ip/applicationname/sevicename or just /ip/servicename. If later is the case then whats the use of the application? or how can i access a service through an application?

Thanks for replying


#6

Hmmm…

Interesting. I haven’t experienced that error yet, but I haven’t made a custom web service yet.

If I come across it I’ll try to diagnose it in more detail. This ones probably better left to the engineers.

Rob


#7

Hi Shashank,

Just a thought… What kind of folder permissions do you have on the folder that contains “…/loadsh.php” (if that’s what it’s called… It’s been awhile and I’m AFK at the moment).

It’s probably something other than that, but just wanted to throw that out there just in case.

Rob


#8

Just realized my answer wasn’t all that clear.

Your API call should be sent like this:

https://server-name/api/v2/service-name/resource-path/?params

So in your case: ip/app/v2/{service-name}
… Don’t forget the /app/v2 piece! :smile:

Checkout the link below and also be sure to test using the API docs that are automatically generated for you when you first create the service. Click the “API Docs” link on your admin console to get there.

http://wiki.dreamfactory.com/DreamFactory/API

Hope that helps!

Rob


#9

Thanks for replying,
I am still getting the ‘lodash’ module not found error. Permissions are ok.
The url is /app/v2 or /api/v2 :smile:

I am still not able to understand the use of the application. If we can access the service directly then whats the use of the application :confused:


#10

applications control access to collections of services by the use of an API key. So in your case, the application is just a logical construct.
But applications can also be html/js files hosted within DreamFactory. In that case the application is also an actual application, not just an access control.

Regarding lodash not being found – are you on Windows? V8 scripting is not currently available in Windows – the library doesn’t compile correctly. We’ve got a guy working on getting it recompiled to work in Windows.


#11

I also have this “the module ‘lodash’ could not be found in any known locations” error on my Ubuntu build. I’m also seeing this in the logs:

  • no “require()” support in V8 library v3.14.5.9