如何正确访问gwtp服务实例中的文件?

时间:2016-02-15 09:11:45

标签: java gwt gwtp

我是GWT应用程序的新手,现在就开始研究它。我有一个问题似乎很简单,但我已经好几个小时都没解决了。我想通过这行代码通过P12密钥文件访问Google Analytics数据。

GoogleCredential credential = new GoogleCredential.Builder()
    .setTransport(httpTransport)
    .setJsonFactory(jsonFactory)
    .setServiceAccountId(serviceAccountMail)
    .setServiceAccountPrivateKeyFromP12File(new File("src/main/webapp/WEB-INF/key","XXXXXX-77b2f9138e9612309473.p12"))
    .setServiceAccountScopes(AnalyticsScopes.all()).build();

如果我通过简单地将其作为Java应用程序运行来测试上面的代码,那么代码工作正常。但是当我将GWT应用程序部署到tomcat并让它运行时。我遇到了错误。

Mon Feb 15 16:04:41 GMT+800 2016 mp.client.XXAsyncCallback WARNING: 
ERROR:Type 'java.io.FileNotFoundException' was not included in the set of 
types which can be serialized by this SerializationPolicy or its Class    
object could not be loaded. For security purposes, this type will not 
be serialized.
: instance = java.io.FileNotFoundException: XXXXXX-77b2f9138e9612309473.p12
(The system cannot find the file specified) from Service_Proxy.getData

非常感谢任何直接的帮助。感谢。

1 个答案:

答案 0 :(得分:2)

GWT不允许任何类型通过RPC传递。 FileNotFoundException似乎是不应该在客户端传递或调用的类型之一。

可传递的类类型应实现com.google.gwt.user.client.rpc.IsSerializable接口

有关详细信息,请查看this主题。

希望这有帮助。