0

I'm setting up Cloud Endpoints Framework for java in my GCP App Engine project, following the official documentation:

The whole thing works, but when I look at the logs, I can see the error below.

It seems that Guice is triggering it but I've no idea what's happening. Am I missing something?

com.google.api.control.Client check: direct send of a check request service_name: "myproject.appspot.com" (Client.java:210)
operation {
  operation_id: "9e037ff9-7822-41b0-87cf-16074a59a153"
  operation_name: "1.myproject_appspot_com.GetUser"
  consumer_id: "project:myproject"
  start_time {
    seconds: 1581554680
    nanos: 956000000
  }
  end_time {
    seconds: 1581554680
    nanos: 956000000
  }
  labels {
    key: "servicecontrol.googleapis.com/referer"
    value: "https://core-dot-myproject.appspot.com/_ah/api/static/proxy.html?usegapi=1&jsh=m%3B%2F_%2Fscs%2Fapps-static%2F_%2Fjs%2Fk%3Doz.gapi.en.OfYsKuVZ3qI.O%2Fam%3DwQE%2Fd%3D1%2Fct%3Dzgms%2Frs%3DAGLTcCMVod3aO7ybjljp3cyn2IsEoP0pUg%2Fm%3D__features__"
  }
  labels {
    key: "servicecontrol.googleapis.com/caller_ip"
    value: "65.204.128.202"
  }
  labels {
    key: "servicecontrol.googleapis.com/user_agent"
    value: "ESP"
  }
  labels {
    key: "servicecontrol.googleapis.com/service_agent"
    value: "EF_JAVA/1.0.12"
  }
}
 failed
endpoints.repackaged.com.google.api.client.http.HttpResponseException: 403
{
  "error": {
    "code": 403,
    "message": "The caller does not have permission",
    "errors": [
      {
        "message": "The caller does not have permission",
        "domain": "global",
        "reason": "forbidden"
      }
    ],
    "status": "PERMISSION_DENIED"
  }
}

    at endpoints.repackaged.com.google.api.client.googleapis.services.AbstractGoogleClientRequest.newExceptionOnError(AbstractGoogleClientRequest.java:456)
    at endpoints.repackaged.com.google.api.client.googleapis.services.AbstractGoogleClientRequest$1.interceptResponse(AbstractGoogleClientRequest.java:321)
    at endpoints.repackaged.com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1065)
    at endpoints.repackaged.com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:419)
    at endpoints.repackaged.com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:352)
    at endpoints.repackaged.com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:469)
    at com.google.api.control.Client.check(Client.java:205)
    at com.google.api.control.ControlFilter.doFilter(ControlFilter.java:249)
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
    at com.googlecode.objectify.ObjectifyFilter.doFilter(ObjectifyFilter.java:48)
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
    at com.google.api.control.ConfigFilter.doFilter(ConfigFilter.java:127)
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
    at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:119)
    at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:133)
    at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:130)
    at com.google.inject.servlet.GuiceFilter$Context.call(GuiceFilter.java:203)
    at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:130)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)
    at com.google.apphosting.utils.servlet.JdbcMySqlConnectionCleanupFilter.doFilter(JdbcMySqlConnectionCleanupFilter.java:60)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
    at com.google.apphosting.runtime.jetty9.ParseBlobUploadHandler.handle(ParseBlobUploadHandler.java:119)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1182)
    at com.google.apphosting.runtime.jetty9.AppEngineWebAppContext.doHandle(AppEngineWebAppContext.java:187)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at com.google.apphosting.runtime.jetty9.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:293)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
    at org.eclipse.jetty.server.Server.handle(Server.java:539)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
    at com.google.apphosting.runtime.jetty9.RpcConnection.handle(RpcConnection.java:213)
    at com.google.apphosting.runtime.jetty9.RpcConnector.serviceRequest(RpcConnector.java:81)
    at com.google.apphosting.runtime.jetty9.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:134)
    at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.dispatchServletRequest(JavaRuntime.java:757)
    at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.dispatchRequest(JavaRuntime.java:720)
    at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:690)
    at com.google.apphosting.runtime.JavaRuntime$NullSandboxRequestRunnable.run(JavaRuntime.java:882)
    at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:270)
    at java.lang.Thread.run(Thread.java:748)

I get the error both locally and when deployed in App Engine

I use the appengine-maven-plugin

mvn clean package

mvn appengine:deploy or locally: mvn appengine:run

For deploying cloud endpoints:

mvn endpoints-framework:openApiDocs

gcloud --project=myproject endpoints services deploy target/openapi-docs/openapi.json

I use the Google API Explorer to test my API: https://apis-explorer.appspot.com/apis-explorer/?base=http://localhost:8080/_ah/api#p/

EDIT:

I get the error as soon as I deploy the openapi.json file. Before deploying it, I don't get the error locally. After deploying it, I get the error both locally and in App Engine.

I have Google Cloud SDK 280.0.0 and app-engine-java 1.9.78

lordofmax
  • 773
  • 1
  • 7
  • 21
  • Hi @lordofmax! Usually, this error occurs when you have multiple Google accounts connected in your browser. Google Cloud Platform ended up mixing the accounts during the check and even though it works, it might cause the error that you are facing. Would you be able to give it a try logging out of all of your accounts and logging again? – gso_gabriel Feb 13 '20 at 08:18
  • Hi @gso_gabriel! Thanks but it didn't work. I tried in incognito mode too. And it happens both locally and when deployed in App Engine. – lordofmax Feb 14 '20 at 01:22
  • Hi @lordofmax have you find the solution for the error? I think maybe contacting the [Google Support](https://cloud.google.com/support/docs/issue-trackers#trackers-list) might help you, since I couldn't find any further information as well on this error. – gso_gabriel Mar 02 '20 at 09:23
  • 1
    I'm facing the same issue, somehow it seems tight to the service version parameter, if I leave that empty, I don't get the error. – Pievis Mar 09 '20 at 14:50

0 Answers0