cloudendpoints / endpoints-management-java

A Java library for managing API services using Google's Service Control APIs
Apache License 2.0
8 stars 12 forks source link

Rejecting this API request due to config loading error #58

Closed jacekfabirkiewicz closed 4 years ago

jacekfabirkiewicz commented 4 years ago

After deploying the openapi.json and deploying an app to google app engine I'm getting an error in gae log console:

com.google.api.control.ConfigFilter init: Failed to load service
com.google.api.config.ServiceConfigException: Failed to fetch default config version for service 'myapplicationname.appspot.com'. No versions exist!
    at com.google.api.config.ServiceConfigSupplier.fetchLatestServiceVersion(ServiceConfigSupplier.java:181)
    at com.google.api.config.ServiceConfigSupplier.fetch(ServiceConfigSupplier.java:146)
    at com.google.api.config.ServiceConfigSupplier.get(ServiceConfigSupplier.java:131)
    at com.google.api.config.ServiceConfigSupplier.get(ServiceConfigSupplier.java:50)
    at com.google.common.base.Suppliers$ExpiringMemoizingSupplier.get(Suppliers.java:243)
    at com.google.api.config.ServiceConfigFetcher.fetch(ServiceConfigFetcher.java:41)

and at every request I'm getting the following error:

com.google.api.control.ConfigFilter doFilter: Rejecting this API request due to config loading error

There was no other problem, deployment of openapi.json went without problems:

Service Configuration [2020-07-25r0] uploaded for service [myapplicationname.appspot.com]

deployment of backend also succeeded:

File upload done.
Updating service [default]...
........................................................................................................................................................................................done.
Setting traffic split for service [default]...
...................................done.
Deployed service [default] to [https://myapplicationname.ew.r.appspot.com]

I have set up everywhere the project_id = myapplicationname, and I am deploying to this project. When I am deploying to my dev project - myapplicationname_dev, everything works fine. The only difference is that at deployment I get different summary in gradle:

for "myapplicationname_dev" I get url without region:

target url: [https://myapplicationname_dev.appspot.com] - this one works

for "myapplicationname" I get url with region:

target url: [https://myapplicationname.ew.r.appspot.com] - for this one I'm getting above error
jacekfabirkiewicz commented 4 years ago

It appeared that my problems were related to lack of the gcloud permissions. This helped me: https://stackoverflow.com/questions/42421042/com-google-api-config-serviceconfigsupplier-failed-to-fetch-default-config-ver especially reference to: https://cloud.google.com/endpoints/docs/frameworks/java/get-started-frameworks-java

gcloud services enable servicemanagement.googleapis.com
gcloud services enable servicecontrol.googleapis.com
gcloud services enable endpoints.googleapis.com

It was a surprise that after three years my production env ceased to work for 3 days... Interesting though I did not have such problems on dev env which is next to the prod and I'm using the same gcloud console?