0

在尝试从 blob 存储中提供 GWT 排列以避开 AppEngine 对静态文件 150 mb 的硬限制时,我已经成功地为“html”和图像文件“jpeg、png、.etc”和其他文件这样做了.rpc 调用,但我挂断了 XSRF 调用。

在服务器日志中,我看到:找不到序列化策略文件'/theapplication/CCA65B31464BDB27545C23C142FEEEF8.gwt.rpc';

我的上传日志显示它已上传 /CCA65B31464BDB27545C23C142FEEEF8.gwt.rpc : HTTP/1.1 200 OK

请求 url 显示http://14.applicationXYZ.appspot.com/xsrf

RequestPayload 显示:http://14.applicationXYZ.appspot.com/theapplication/|CCA65B31464BDB27545C23C142FEEEF8|com.google.gwt.user.client.rpc.XsrfTokenService|getNewXsrfToken|1|2|3|4|0|

其他 rpc 调用正在解析(通过服务器过滤器正在寻找 /theapplication 并将请求映射到要服务的 blob),如下例所示,在没有 Xsrf 请求的情况下进行了 rpc 调用(因为用户尚未登录)

请求网址——http: //14.applicationXYZ.appspot.com/someRPCCall

RequestPayload -- http://14.applicationXYZ.appspot.com/theapplication/|62D7E6737056C685E10947B640409549|com.abc.client.rpc.Service|doWork|java.lang.String/2004016611|java.lang.Boolean/476441737|wwwerr| 1|2|3|4|3|5|5|6|7|7|6|0|

所以,我有两个问题:

1)为什么XSRF调用未能返回适当的blob,即。为什么 xrsf 调用不像其他 url 调用 /theapplication/* 那样由过滤器处理?2)我能做些什么呢?3)另外,我尝试将内容类型设置为“text/x-gwt-rpc; charset=UTF-8 并且在我上传 blob 时也未指定。任何人都知道 *.gwt.rpc 的内容类型应该是什么如果我确实让 xrsf 工作了?错误的内容类型会导致问题吗?

***注意 applicationXYZ 不是真实姓名,所以没有链接将不起作用。

4

1 回答 1

0

好的 /xsrf 也被映射到一个 servlet,所以如果过滤器返回一个 blob 而不传递过滤器,它似乎不会到达 servlet。

无论如何,只需像往常一样上传几个 .rpc 文件而不将它们作为 blob 提供就很容易了。

于 2012-06-16T05:25:59.160 回答