【问题标题】:404 on google endpoint in devserver开发服务器中谷歌端点上的 404
【发布时间】:2013-12-20 15:16:36
【问题描述】:

我的问题是,我的 google 端点 ondevserver 返回 404。Web.xml:

<servlet>
    <servlet-name>ServiceServlet</servlet-name>
    <servlet-class>com.google.api.server.spi.SystemServiceServlet</servlet-class>
    <init-param>
        <param-name>services</param-name>
        <param-value>package.endpoint1,package.endpoint2</param-value>
    </init-param>
</servlet>
<servlet-mapping>
    <servlet-name>ServiceServlet</servlet-name>
    <url-pattern>/_ah/spi/*</url-pattern>
</servlet-mapping>

我在日志中收到以下消息:

 WARNING: No file found for: /endpoint1/v1/endpointMethod

所以我猜 url-pattern 出于某种原因关闭了。在现场一切正常。 值得一提: - 我为两个不同的端点 API 使用一个 servlet 声明。这个可以吗? - 我使用的是 1.8.8 版

我已经在 stackoverflow 上尝试了其他一些解决方案,但都没有奏效。

【问题讨论】:

    标签: java google-app-engine jakarta-ee google-cloud-endpoints


    【解决方案1】:

    在您的servlet 定义中包含多个以逗号分隔的类是可以的,但您需要使用整个类加上包名。例如:

    <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.google.devrel.samples.helloendpoints.Greetings</param-value>
        </init-param>
    </servlet>
    

    【讨论】:

    • 感谢您的意见。这是我的一个错误:在原始代码中,我包含了整个包部分。为了简单起见,我在这里省略了它——这当然是一种误导。
    猜你喜欢
    • 2013-12-08
    • 2020-07-27
    • 2021-03-05
    • 2017-03-06
    • 2014-10-26
    • 2010-12-31
    • 2015-05-01
    • 2011-03-08
    • 2017-04-17
    相关资源
    最近更新 更多