【发布时间】:2017-02-07 15:12:53
【问题描述】:
我正在构建一个Google App Engine 和Firebase 应用程序,我想使用Google cloud endpoints(第2 版)的最新功能,例如用户身份验证和支持Firebase 读/写,这是我的主要功能担心。
阅读官方文档后,我一直在生成客户端 API 库... 显然正如here 所述,它应该手动完成,因为Android Studio 目前不支持该功能(即使在更新了here 所述的相关文件之后)它会产生此错误:
错误:任务“:endpointVag:appengineEndpointsGetClientLibs”执行失败。 运行端点命令 get-client-lib 时出错:web.xml must have 1 (found:0) SystemServiceServlet servlet
按照here 的说明并运行此命令后:
C:\android_project_path\endpoints-framework-tools-2.0.0-beta.11\bin>endpoints-framework-tools.bat get-client-lib --war=C:\android_project_path\src\main\webapp -l java -bs gradle com.somename.project.endpoints.MyEndpoint
我收到以下错误:
Error: com.somename.project.endpoints.MyEndpoint
有什么建议或如何手动正确生成客户端库?
谢谢!
编辑,我附上我的 web.xml 的内容。
<?xml version="1.0" encoding="utf-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee">
<servlet>
<servlet-name>EndpointsServlet</servlet-name>
<servlet-class>com.google.api.server.spi.EndpointsServlet</servlet-class>
<init-param>
<param-name>services</param-name>
<param-value>com.somename.project.endpoints.MyEndpoint</param-value>
</init-param>
<init-param>
<param-name>restricted</param-name>
<param-value>false</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>EndpointsServlet</servlet-name>
<url-pattern>/_ah/api/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<filter>
<filter-name>endpoints-api-configuration</filter-name>
<filter-class>com.google.api.control.ServiceManagementConfigFilter</filter-class>
</filter>
<filter>
<filter-name>endpoints-api-controller</filter-name>
<filter-class>com.google.api.control.extensions.appengine.GoogleAppEngineControlFilter</filter-class>
<init-param>
<param-name>endpoints.projectId</param-name>
<param-value>myproject</param-value>
</init-param>
<init-param>
<param-name>endpoints.serviceName</param-name>
<param-value>myproject.appspot.com</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>endpoints-api-configuration</filter-name>
<servlet-name>EndpointsServlet</servlet-name>
</filter-mapping>
<filter-mapping>
<filter-name>endpoints-api-controller</filter-name>
<servlet-name>EndpointsServlet</servlet-name>
</filter-mapping>
【问题讨论】:
标签: google-app-engine android-studio firebase google-cloud-endpoints