私は最終年度のプロジェクトの一環としてJava用Cloud Endpoints Framework(2.0.1)を使用していますそれまでのところ比較的成功しています。 私はappspot.comドメインに展開する際に問題はありませんが、ローカルに展開する際にいくつかの問題が発生しています。com.google.api.config.ServiceConfigSupplier - サービスのデフォルト設定バージョンを取得できませんでした(ローカルホストのみ)
(次のコードブロックでの私のプロジェクト-IDへの参照は、私の実際のGoogleのクラウドプロジェクトIDの別名です)
私はどの注釈付き@APIクラスの有効なOpenAPIの記述子(openapi.json)を持っています私は、 "gcloud service-management deploy openapi.json"を使用してクラウドエンドポイントに展開しています。成功し コマンドが返す:
Service Configuration [2017-02-23r0] uploaded for service [api.endpoints.<my-project-id>.cloud.goog]
私は、このサービスは、「のgcloudサービス管理を使用してのgcloud CLIツールによって表示されて
endpoints_api_service:
name: api.endpoints.<my-project-id>.cloud.goog
config_id: 2017-02-23r0
私のapp.yamlに正しいendpoints_api_serviceに返さCONFIG_IDをマップリスト」
NAME TITLE
storage-component.googleapis.com Google Cloud Storage
api.endpoints.<my-project-id>.cloud.goog api.endpoints.<my-project-id>.cloud.goog
etc...
と "のgcloudサービス管理のconfigsリスト--service api.endpoints.my-project-id.cloud.goog"
CONFIG_ID SERVICE_NAME
2017-02-23r0 api.endpoints.<my-project-id>.cloud.goog
... other version configs
と私のappspot.comドメイン上でアクセス可能である(私はエンドポイントを呼び出し、正しい応答を受け取ることができます)
私はJava用のMaven AppEngineのプラグインを使用して、ローカルホスト上の私のプロジェクトを展開しようとしています(MVN AppEngineの:devserver)が、桟橋の起動時に、私は次の例外をヒットしています:
WARNING: Failed startup of context com.google.appengine.tools.development.DevAppEngineWebAppContext...
com.google.api.config.ServiceConfigException: Failed to fetch default config version for service 'api.endpoints.<my-project-id>.cloud.goog'. No versions exist!
at com.google.api.config.ServiceConfigSupplier.fetchLatestServiceVersion(ServiceConfigSupplier.java:155)
....
その後、桟橋を開始しようと、そのエラーメッセージが表示されてヒットしている、と再起動の無限のサイクルで立ち往生展開localhost:8080にアクセスしようとすると、 "503:サービスが見つかりません"エラー
appspot.comと同じ方法で、「gcloud service-management deploy」を使用して配備されたサービス設定に自分のアプリケーションのローカル配備がアクセスできると想定しました展開は可能ですが、そうではありませんか? ServiceConfigSupplier.getchLatestServiceVersion()のソースを見ると、そのserviceManagement.services().configs()。list(my-service-name).execute()。getServiceConfigs()は空のリストを返していますが、これはなぜですかローカルでのみ発生しますか?
追加情報
私ENDPOINTS_SERVICE_NAME環境変数マッチ 'api.endpoints.my-project-id.cloud.goog'
私は、COMへのアップデート(1.0.2)があったことに気づきました.google.api.configは数日前に作成され、古いバージョンのcom.google.api.services.servicemanagementに依存しています(v1-rev14-1.22.0に依存し、最新バージョンはv1-rev340-1.22 .0) 私はこれが問題だとは思っていませんが、例外に関連するクラスが含まれているので、私はそれを言及すると思いました(ServiceManagementはServiceConfigSupplierによって使用されます。例外のため)。おそらく、彼らがサービス設定を探している場所に矛盾がありますか?
私は非常に困惑しています。それは私の頭の上に少しです。エンドポイントを削除しなければならないのは嫌ですが、私はそれが気に入るようになっていますが、devserverの使用も失うことはありません。私は誰かがこの問題について少し光を当てることを願っています。
あなたはこの問題を解決しましたか?私はJavaを使用しており、同じ問題があります。 –
こんにちはSam Holdenさん、問題を解決できましたか?これに関連する文書が最近更新されました。 https://github.com/GoogleCloudPlatform/java-docs: https://cloud.google.com/endpoints/docs/frameworks/java/quickstart-frameworks-java ここにあるサンプルもあります-samples/tree/master/appengine/endpoints-frameworks-v2/backend 私に教えてください!ありがとうございました。 –
@FrankNatividadあなたのリンクで提供したクイックスタートに続いて、この正確なエラーがほとんど表示されています。 – Benjamin