【问题标题】:App engine RPC discovery doc应用引擎 RPC 发现文档
【发布时间】:2013-08-13 23:15:33
【问题描述】:

我一直在使用带有云端点的 Java 应用引擎来创建 REST api,但突然遇到了这个错误:

WARNING: No discovery doc for API hylytit version v1 in rpc format

我正在尝试将 Javascript 客户端库加载到网页中以进行 GET 调用。在 Web 控制台中,我看到:

GET http://localhost:8888/_ah/api/discovery/v1/apis/hylytit/v1/rpc?fields=methods%2F*%2Fid&pp=0 [HTTP/1.1 404 Not Found 5ms]

我不熟悉 RPC 发现文档是什么,并且在网上找不到很多与 App 引擎和 RPC 相关的具体内容。这就是我调用客户端库的方式:

<script type="text/javascript">
function start() {
    console.log("test.html onLoad function called.");
    var ROOT = "http://localhost:8888/_ah/api";
    gapi.client.load("hylytit", 'v1', function() {
        var req = gapi.client.hylytit.listUrl();
        req.execute(function(data) {
            //Do something with the data.
        });
    }, ROOT);
}
</script>
<script type="text/javascript" src ="https://apis.google.com/js/client.js?onload=start">
</script>

Eclipse 的 App Engine 插件似乎没有生成正确的 RPC 发现文档。知道如何解决这个问题吗?

编辑: 正如@Jenny 建议的那样,我已更新到最新版本的 Google Eclipse 插件和 App Engine SDK。我还检查了所有云端点方法是否按照@Ashish 的建议返回有效类型,但是当我将其作为本地服务器运行时,仍然会出现相同的错误。

有趣的是,我在部署到应用引擎时没有任何问题,只是在本地部署。

【问题讨论】:

    标签: java javascript google-app-engine rpc google-cloud-endpoints


    【解决方案1】:

    Willma,您最近是否更新了您的 App Engine Eclipse 插件或 SDK?如果您这样做了,请尝试同时更新 Google Plugin for Eclipse。这些插件需要同步,Google Cloud Endpoint Client 库生成才能在 Eclipse 上正常工作。更新两个插件后,客户端库生成应该可以工作。再次将应用程序部署到 App Engine,然后您应该能够根据上面显示的 URL 再次验证。

    【讨论】:

    • 我怀疑这是问题所在,因为我收到了这个错误:There is a new version of the SDK available. ----------- Latest SDK: Release: 1.8.3 Timestamp: Fri Jul 19 13:04:55 EDT 2013 API versions: [1.0] ----------- Your SDK: Release: 1.8.1 Timestamp: Fri Jun 07 10:37:10 EDT 2013 API versions: [1.0] ----------- Please visit https://developers.google.com/appengine/downloads for the latest SDK. 但是当我进入更新时,它说我已经安装了 1.8.3。
    • 修复了上述问题,但仍然出现相同的错误。仅当我在本地部署时才会发生。
    【解决方案2】:

    确保您具有有效的返回类型。 在对 ApiMethod 使用无效的返回类型(布尔值)后,我遇到了同样的问题。请注意,GPE 文档说,“在 Endpoint 方法中,返回值类型不能是 String 或 int 等简单类型。返回值需要是 POJO、数组或集合。”

    https://developers.google.com/eclipse/docs/endpoints-addentities

    【讨论】:

    • 谢谢,我确保返回类型是有效的。我实际上有两个具有相同输入变量的GET 方法,并认为这是问题所在,但错误仍然存​​在。我已经更新了问题。
    猜你喜欢
    • 2017-11-25
    • 1970-01-01
    • 2010-10-28
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 2016-04-08
    • 2010-11-30
    • 2019-10-10
    相关资源
    最近更新 更多