【发布时间】:2013-06-10 13:39:38
【问题描述】:
我遇到了一个我不知道如何解释的问题。我正在使用 Android 和 Google App Engine 做一个项目。当我尝试直接从 servlet(硬编码)将信息保存在 Google App Engine 的大表中时 - 保存没有问题。但是当我尝试从我的 Android 设备保存数据时,没有执行保存,并且日志显示 Apache-HttpClient/UNAVAILABLE 错误。具体来说:
405 55ms 0kb Apache-HttpClient/UNAVAILABLE (java 1.4)
82.155.246.249 - - [10/Jun/2013:05:20:59 -0700] "POST /servletnamehere HTTP/1.1" 405 306 - "Apache-HttpClient/UNAVAILABLE (java 1.4)" "appnamehere.appspot.com" ms=56 cpu_ms=21 cpm_usd=0.000034 app_engine_release=1.8.0 instance=00c61b117cede3f754aa1ece730dc88287a20199
我看到 405 HTTP 错误出现在 POST 方法的上下文中(“405 错误经常出现在 POST 方法中。您可能试图在网站上引入某种输入表单,但并非所有 ISP 都允许处理表单所必需的 POST 方法。”)=> 实际上,我正在尝试使用 POST 方法在数据库中执行添加(对象是 JPA 实体)。我从我的 Android 设备接收到的数据是通过输入流进行序列化的(在我的情况下,不能使用 JSON,这些是规范)。
此外,306 HTTP 错误指的是切换代理。虽然这个错误可能有点直观,但这个错误超出了我学生的知识范围。
我已按照本教程(http://trumpy.cs.elon.edu/joel/sigcse2011/)的说明进行操作,这确实是我需要的,但我真的无法弄清楚我做错了什么。我又按了一遍程序,一步一步,但我没有看到缺陷。
任何帮助将不胜感激。如果我应该发布一些代码,我会很乐意这样做。
最好的祝愿, 麦田圈
稍后编辑:
现在我收到 417 HTTP 错误预期失败。我已经看到我应该将某个参数设置为 false,但这种解决方法仅适用于 .NET。有没有人知道Java中以下内容的对应者是什么?我真的很困惑。
<system.net>
<settings>
<servicePointManager expect100Continue="false" />
</settings>
</system.net>
【问题讨论】:
-
你修复过这个错误吗?
标签: android google-app-engine http clojure