8

これが私の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>

私は Google Cloud Endpoint API である GameApi を持っていますが、これは blob の読み込みに時間がかかりすぎたことを除けば正常に動作していました。そこでUpload、Google Web サイトのサーブレットを使用して、ユーザーからブロブをアップロードすることにしました。基本的に、blob ファイルの xml コードをエンドポイント API の既存の xml コードに追加した結果、上記の xml が作成されました。しかし、アップロード サーブレットが呼び出されることはありません。私はローカルホストでテストしてい_BlobUploadSession_ますが、フロントエンド (つまり、Android アプリ) が正しいコールバック URL を使用して画像をブロブストアに正常に送信したことを表で確認できます。入り口に println ステートメントがあるため、サーブレットが呼び出されていないことがわかります。

を変更する必要がありweb.xmlますか? で行っているように、エンドポイントをサーブレットと組み合わせることはできますweb.xmlか?

4

2 に答える 2

0

私の Android Studio Cloud Endpoints gradle は正常に同期されましたが、GAE にアップロードするときに、次の形式 (使用している形式) ではエラーが発生し、アップロードに失敗しました。

<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>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>

これが誰かに役立つことを願っています。

于 2016-04-07T15:42:39.563 に答える