Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JSON响应错误代码201,但在Android HTTP POST中应该是200_Android_Json_Http Post - Fatal编程技术网

JSON响应错误代码201,但在Android HTTP POST中应该是200

JSON响应错误代码201,但在Android HTTP POST中应该是200,android,json,http-post,Android,Json,Http Post,因为我试图发布评级活动的结果。从用户那里读取评级值后,我通过HTTPPOST调用webservice并在其中设置JSON对象。由于我的Web服务器需要身份验证,我也能够验证这一点 但真正的问题是,响应代码应该是200,但iam接收到201。请告诉我哪里出了问题 代码: 201是表示“已创建”的正常响应代码。您的Web服务正在报告它的成功,这是正常的。HTTP规范定义了这段代码。请看是的,非常感谢!但根据我的web服务规格,我必须收到200个。让我知道我是否从Android客户端做了所有正确的事情

因为我试图发布评级活动的结果。从用户那里读取评级值后,我通过HTTPPOST调用webservice并在其中设置JSON对象。由于我的Web服务器需要身份验证,我也能够验证这一点

但真正的问题是,响应代码应该是200,但iam接收到201。请告诉我哪里出了问题

代码:


201是表示“已创建”的正常响应代码。您的Web服务正在报告它的成功,这是正常的。HTTP规范定义了这段代码。请看

是的,非常感谢!但根据我的web服务规格,我必须收到200个。让我知道我是否从Android客户端做了所有正确的事情?作为Stackoverflow的规则,我接受你的答案;-)。但只需要最后确认上述问题!正如我所看到的,一切都很好。如果唯一的问题是响应代码,我认为您应该将
If
语句更改为也检查201代码您的Web服务是如何创建的?它的后端是什么?“我的web服务规范”是什么意思?你能展示一下吗?Web服务是REST和JAVA。这是服务器期望的格式:粗体请求头POST/XXXXXXXX相册/rest/v1.0/pictures/12345678内容类型:应用程序/json请求体{“评级”:3}响应头状态代码:200 ok
        public static String sendJson(final int rating, final String url) {
    Thread t = new Thread() {
        public void run() {
            Looper.prepare(); // For Preparing Message Pool for the child
             HttpResponse response;

            // proxy
            final String PROXY = "xxx.xxx.xxx.xxx";
            // proxy host
            final HttpHost PROXY_HOST = new HttpHost(PROXY, 8080);
            HttpParams httpParameters = new BasicHttpParams();
            mHttpClient = new DefaultHttpClient(httpParameters);
            HttpConnectionParams.setConnectionTimeout(mHttpClient.getParams(),
                 10000); //Timeout Limit
            mHttpClient.getParams().setParameter(
                    ConnRoutePNames.DEFAULT_PROXY, PROXY_HOST);
            System.out.println("Sending proxy request: " + mHttpClient);
            // mHttpClient = new DefaultHttpClient();

            JSONObject json = new JSONObject();
            try {
                String reqUrl = new String(aBaseUrl + url);                  
                HttpPost post = new HttpPost(reqUrl);
                post.getParams().setParameter(
                        ConnRoutePNames.DEFAULT_PROXY, PROXY_HOST);
                post.addHeader(BasicScheme
                        .authenticate(new UsernamePasswordCredentials(
                                userName, password), "UTF-8", false));
                System.out.println("Sending Post proxy request: " + post);
                json.put("rating", rating);

                // json.put("password", pwd);
                // StringEntity se = new StringEntity( "JSON: " +json.toString());

                StringEntity se = new StringEntity(json.toString());
                System.out.println("JSON VALUE 2222 " + json.toString());
                se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,"application/json"));
                // post.setEntity(new
                // ByteArrayEntity(json.toString().getBytes("UTF8")));

                post.setEntity(se);
                response = mHttpClient.execute(post);
                /* Checking response */

                statusCode = response.getStatusLine().getStatusCode();
                System.out.println("Http Execute finish " + statusCode);

                if(statusCode==200)
                {
                    HttpEntity entity = response.getEntity();
                    String getResponseText = EntityUtils.toString(entity);
                    System.out.println(" Post Response Text from Server : "
                            + getResponseText);


                }

                if (response != null) {
                    // InputStream in = response.getEntity().getContent();
                    // //Get the data in the entity
                    // HttpEntity entity = response.getEntity();
                    // String getResponseText =
                    // EntityUtils.toString(entity);
                    // System.out.println(" Post Response Text from Server : "
                    // + getResponseText);

                }
            } catch (Exception e) {
                e.printStackTrace();
                // createDialog("Error", "Cannot Estabilish Connection");
            }
            Looper.loop(); // Loop in the message queue
        }
    };
    t.start();
    return url;
}