Ich habe ein Backend mit Java, App Engine, Gradle und Cloud Endpoints geschrieben. Ich teste die Endpunkte mit den FunctionalTests aus dem App Engine Gradle Plugin. Das funktioniert ganz gut.ModuleException: Unbekanntes Modul
Das Problem, das ich habe, ist, dass einer der Endpunkte eine Aufgabe an ein Modul, die nicht existiert, zu buchen. Zumindest auf dem lokalen Entwicklungsserver stimmt das. In der Produktion existiert dieses Modul. Wie kann ich dem lokalen Entwicklungsserver mitteilen, dass dieses Modul existiert?
com.google.appengine.api.modules.ModulesException: Unknown module
at com.google.appengine.api.modules.ModulesServiceImpl$ModulesServiceFutureWrapper.convertApplicationException(ModulesServiceImpl.java:365)
at com.google.appengine.api.modules.ModulesServiceImpl$ModulesServiceFutureWrapper.convertException(ModulesServiceImpl.java:352)
at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:97)
at com.google.appengine.api.modules.ModulesServiceImpl.getAsyncResult(ModulesServiceImpl.java:104)
at com.google.appengine.api.modules.ModulesServiceImpl.getVersionHostname(ModulesServiceImpl.java:321)
at com.peerke.outdoorpuzzlegame.backend.common.tasks.NotifyBackendTask.notifyBackendClients(NotifyBackendTask.java:51)
at com.peerke.outdoorpuzzlegame.backend.common.tasks.NotifyBackendTask.notifyUpdateHighScores(NotifyBackendTask.java:28)
at com.peerke.outdoorpuzzlegame.backend.gameclientendpoint.endpoints.ActiveGamesEndpoint.createTeam(ActiveGamesEndpoint.java:81)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:130)
at com.google.api.server.spi.SystemService.invokeServiceMethod(SystemService.java:363)
at com.google.api.server.spi.SystemServiceServlet.execute(SystemServiceServlet.java:113)
at com.google.api.server.spi.SystemServiceServlet.doPost(SystemServiceServlet.java:71)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
at com.googlecode.objectify.ObjectifyFilter.doFilter(ObjectifyFilter.java:48)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.peerke.outdoorpuzzlegame.backend.common.gcp.GCPFilter.doFilter(GCPFilter.java:35)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.google.appengine.api.socket.dev.DevSocketFilter.doFilter(DevSocketFilter.java:74)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.google.appengine.tools.development.ResponseRewriterFilter.doFilter(ResponseRewriterFilter.java:128)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
-Code, die ich auf der Stelle laufen, dass ich die Ausnahme erhalten:
ModulesServiceFactory.getModulesService().getVersionHostname(GAME_RUNNER_SERVICE, ModulesServiceFactory.getModulesService().getCurrentVersion()))