生成发现文档时出现503服务不可用错误

0 投票
2 回答
2183 浏览
提问于 2025-04-17 16:06

我正在使用谷歌云端点,想生成一个发现文档,以便创建一个iOS客户端库,并测试我的端点。我按照文档中的说明,尝试用这个命令来实现:

endpointscfg.py gen_discovery_doc -o . -f rpc appfile.ApiClass

这里的 appfileApiClass 需要替换成真实的名称。

当我运行这个命令时,我得到了:

urllib2.HTTPError: HTTP Error 503: Service Unavailable

为什么生成发现文档的时候需要访问互联网呢?我为什么会收到这个错误?我该怎么解决这个问题?

附注:我已经检查过我的代码,确认没有基本错误,比如消息类中的其他类型、错误的主机名等等,但这些都不是问题所在。

2 个回答

1

在生成发现文档时遇到类似的问题,

当某些东西不符合预期时,就会出现503错误。在我的情况下,是因为API类的定义不正确。

确保@Api()的定义以小写字母开头,否则会返回503错误。

例如:

//@Api(name = "thisMustBeLowerCase") otherwise client libraries wont compile.

 @Api(name = "sampleEndpoint") 
public class SampleEndpoint {...}

希望这能帮到你

1

回复:“为什么生成发现文档时需要访问互联网?”

你的API类会被传递给 ApiConfigGenerator.pretty_print_config_to_json 这个方法,用来创建一个描述符,这个描述符定义了一个基本的API配置。然后,这个描述符会被发送到一个网络API,这个API连接到谷歌的API基础设施,从基本的API配置中生成一个发现文档。

回复:“为什么我会收到这个错误?”

你的API配置可能是无效的,这通常是因为API类的定义不正确。当你尝试运行或部署应用程序时,有没有出现任何错误或堆栈跟踪信息?如果没有,可能是生成发现文档的网络服务代码中有个bug,我很乐意帮你查一下。

撰写回答