standard pricing google for flexible engine app google-app-engine servlets blobstore google-cloud-endpoints gae-eclipse-plugin

google app engine - pricing - Combinando servlet blob con punto final api



google cloud sdk app engine (2)

Aquí está mi web.xml

<?xml version="1.0" encoding="utf-8" standalone="no"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet> <servlet-name>Upload</servlet-name> <servlet-class>Upload</servlet-class> </servlet> <servlet-mapping> <servlet-name>Upload</servlet-name> <url-pattern>/upload</url-pattern> </servlet-mapping> <servlet> <servlet-name>SystemServiceServlet</servlet-name> <servlet-class>com.google.api.server.spi.SystemServiceServlet</servlet-class> <init-param> <param-name>services</param-name> <param-value>com.company.game.GameApi</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>SystemServiceServlet</servlet-name> <url-pattern>/_ah/spi/*</url-pattern> </servlet-mapping> </web-app>

Tengo una API de Google Cloud Endpoint, GameApi, que funcionaba bien, excepto por la carga de blobs, que llevaba demasiado tiempo. Así que decido usar el servlet Upload en el sitio web de google para subir mis blobs del usuario . Básicamente, agregué el código xml para el archivo blob a mi código xml existente para la API de punto final, lo que dio como resultado el xml que se muestra arriba. Pero luego el servlet Upload nunca se llama. Estoy probando en localhost y puedo ver en la tabla _BlobUploadSession_ que el front-end (es decir, la aplicación de Android) ha enviado correctamente la imagen al blobstore con la URL de devolución de llamada correcta. Sé que no se está llamando al servlet porque tengo una declaración impresa justo en la entrada.

¿Debo cambiar mi web.xml ? ¿Puedo combinar endpoint con servlet como lo hago en mi web.xml ?



Aunque mi Android Studio Cloud Endpoints gradle se sincronizó correctamente, al cargar a GAE, el siguiente formato (que está utilizando) produjo errores y cargas fallidas:

<servlet> <servlet-name>Upload</servlet-name> <servlet-class>Upload</servlet-class> </servlet> <servlet-mapping> <servlet-name>Upload</servlet-name> <url-pattern>/upload</url-pattern> </servlet-mapping>

Lo que tenía que hacer era enumerar la ruta completa de la clase servlet. En tu caso:

<servlet> <servlet-name>Upload</servlet-name> <servlet-class>com.company.game.Upload</servlet-class> </servlet> <servlet-mapping> <servlet-name>Upload</servlet-name> <url-pattern>/upload</url-pattern> </servlet-mapping>

Espero que esto ayude a alguien.