Google App Engine remote_api returns 404 using remote_api_shell.py

1.4k views Asked by At

I'm using googles built in tool for connecting to the remote api so I don't even have info in my client or app.yaml I could change. I have no idea why I suddenely cant connect.

[ rever ~/Documents/buybottmerge/buybott-gae ] remote_api_shell.py -s myappname.appspot.com
Traceback (most recent call last):
  File "/usr/local/bin/remote_api_shell.py", line 171, in <module>
    run_file(__file__, globals())
  File "/usr/local/bin/remote_api_shell.py", line 167, in run_file
    execfile(script_path, globals_)
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/remote_api_shell.py", line 152, in <module>
    main(sys.argv)
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/remote_api_shell.py", line 148, in main
    appengine_rpc.HttpRpcServer)
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/remote_api_shell.py", line 76, in remote_api_shell
    rpc_server_factory=rpc_server_factory)
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/remote_api/remote_api_stub.py", line 725, in ConfigureRemoteApi
    app_id = GetRemoteAppIdFromServer(server, path, rtok)
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/remote_api/remote_api_stub.py", line 568, in GetRemoteAppIdFromServer
    response = server.Send(path, payload=None, **urlargs)
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/appengine_rpc.py", line 393, in Send
    f = self.opener.open(req)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 400, in open
    response = meth(req, response)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 513, in http_response
    'http', request, response, code, msg, hdrs)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 438, in error
    return self._call_chain(*args)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 372, in _call_chain
    result = func(*args)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 521, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 404: Not Found

I can see the errors on my logs in the dashboard as well. So something is working well enough for it to get that far before failing.

2013-09-05 18:13:35.735 /_ah/remote_api?rtok=569217424211 404 4ms 0kb Google-remote_api/1.0     Darwin/12.4.0 Python/2.7.2.final.0 gzip

50.53.136.79 - - [05/Sep/2013:18:13:35 -0700] "GET /_ah/remote_api?rtok=569217424211   HTTP/1.1" 404 130 - "Google-remote_api/1.0 Darwin/12.4.0 Python/2.7.2.final.0 gzip"   "myappname.appspot.com" ms=4 cpu_ms=0 cpm_usd=0.000015 app_engine_release=1.8.4   instance=00c61b117cbd87090d90186a5635840f196c4d14
3

There are 3 answers

0
makkasi On
  • for me the problem was that I started the script with wrong project.appspot.com name. Be careful

  • also the project should be deployed first with:

builtins:

  • remote_api: on

in app.yaml

0
Xin.Z On

If you are like me who followed this doc and used "buildins", I figured out that the error was because of a typo in the document.

/remote_api ==> /_ah/remote_api

0
gumptionthomas On

I know this is a little late, but are you using the git push-to-deploy feature on your app?

I've found that the "builtins" defined in app.yaml do not work after a push-to-deploy (they return 404s) but doing a normal appcfg update makes them work again.

I experienced these 404 failures after push-deploys with both remote_api and deferred.