App引擎RPC发现文档

时间:2013-08-12 15:05:02

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

我一直在使用带有云端点的Java app引擎来创建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建议的有效类型,但是当我将其作为本地服务器运行时仍然会出现相同的错误。

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

确保您拥有有效的退货类型。 在为ApiMethod使用无效的返回类型(布尔值)后,我遇到了同样的问题。请注意,GPE文档说,“在端点方法中,返回值类型不能是简单类型,如String或int。返回值必须是POJO,数组或集合。”

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