我正在尝试连接并发布到一个简单的java webservice,从chrome运行post的URL成功,但android代码跳过以下行(没有抛出错误),但webservice不接受帖子
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代码有什么问题?
答案 0 :(得分:2)
URL url = new URL(setFacebookEventsAddress+userId+"/"+accesstoken);
HttpURLConnection con = (HttpURLConnection) url
.openConnection();
ja = readStream(con.getInputStream());
使用HttpURLConnection而不是HttpPost为我做了诀窍,感谢所有助手!
答案 1 :(得分:1)
不可能有任何确定性(鉴于证据),但我的猜测是表达
setFacebookEventsAddress + userId + "/" + accesstoken
正在评估与您在网络浏览器中使用的网址不同的网址。
我建议你尝试以下方法:
打开服务器上的请求记录,并比较发送请求中的网址。
修改您的客户端以打印响应状态代码和响应正文。后者很可能是一个错误页面,可以为您提供更多线索。
另一个可能的问题是您的代码似乎没有发送任何带有POST请求的正文。
重新审视此问题时,问题是您正在使用/尝试对已配置为仅支持GET的Web服务执行POST操作。我希望如果您查看状态代码,您会发现响应代码为“Method not supported”。