Ecco il mio web.xml
combinando servlet blob con endpoint API
<?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>
Ho un API di Google Cloud Endpoint, GameApi, che aveva lavorato bene, tranne per il carico di blob che stava prendendo troppo a lungo. Quindi decido di usare lo Upload
servlet on the google website to upload my blobs from user. Fondamentalmente ho aggiunto il codice xml per il file blob al mio codice xml esistente per l'API dell'endpoint, risultando nell'xml mostrato sopra. Ma poi il servlet di Upload non viene mai chiamato. Sto testando localhost e posso vedere nella tabella _BlobUploadSession_
che il front-end (app Android) ha inviato correttamente l'immagine al blobstore con l'url di callback corretto. So che il servlet non viene chiamato perché ho una dichiarazione di stampa proprio all'ingresso.
Devo cambiare il mio web.xml
? Sono autorizzato a combinare endpoint con servlet come sto facendo nel mio web.xml
?
@DanHolevoet voi o il vostro team avete qualche input su come farlo funzionare? Il mio approccio preferito sarebbe semplicemente utilizzare gli endpoint (http://stackoverflow.com/questions/16257895/convert-servlet-schema-to-app-engine-endpoint-schema), ma poiché non so come farlo , Ho creato una classe servlet come descritto. Ma il mio servlet non viene mai chiamato. – learner
@bossylobster, posso aiutarmi per favore con questo? – learner
@Tom qualche idea? – learner