0

我正在尝试连接并发布到一个简单的 java web 服务,从 chrome 运行帖子的 URL 成功,但 android 代码跳过以下行(没有抛出错误),但 web 服务不接受帖子

            HttpPost post = new HttpPost(setFacebookEventsAddress+userId+"/"+accesstoken);  
            post.setHeader("Accept", "application/json");
            post.setHeader("Content-type", "application/json");
            HttpResponse response = client.execute(post);

处理上述请求的 webservice 方法签名:

    @GET
    @Path("setData/{user_id}/{accessToken}")
    @Produces(MediaType.APPLICATION_JSON+ ";charset=utf-8")
    public String setData(@PathParam("user_id")  String user_id,
                                @PathParam("accessToken")  String accessToken) {

因为我设法发布了我的浏览器,任何人都可以帮助解决我的 android 代码有什么问题?

4

2 回答 2

2
        URL url = new URL(setFacebookEventsAddress+userId+"/"+accesstoken);
        HttpURLConnection con = (HttpURLConnection) url
                    .openConnection();
        ja = readStream(con.getInputStream());

使用 HttpURLConnection 而不是 HttpPost 对我有用,感谢所有帮助者!

于 2013-01-28T22:25:00.577 回答
1

不可能肯定地说(鉴于证据),但我的猜测是表达式

setFacebookEventsAddress + userId + "/" + accesstoken 

正在评估与您在 Web 浏览器中使用的 URL 不同的 URL。

我建议您尝试以下方法:

  • 在您的服务器上打开请求日志记录,并比较正在发送的请求中的 URL。

  • 修改您的客户端以打印出响应状态代码和响应正文。后者很可能是一个错误页面,会给你更多的线索。


另一个可能的问题是您的代码似乎没有通过 POST 请求发送任何正文。


重新审视这一点,问题在于您正在使用/尝试对您配置为仅支持 GET 的 Web 服务进行 POST。我希望如果您查看了状态代码,您会发现响应代码是“不支持方法”。

于 2013-01-28T11:45:42.600 回答