如何使用post方法在java中调用web服务

如何使用post方法在java中调用web服务,java,web-services,Java,Web Services,这是我试图调用web服务并获取数据的代码 但当我点击web服务时,我得到了以下异常 失败:HTTP错误代码:404 请告诉我我哪里做错了尝试给出解决方案。第一件事是检查url是否在使用postman或restclient的计算机上工作,如果工作正常,然后尝试使用以下代码发布,此代码用于使用HttpPost以json格式发布数据。您可以按照Mild的建议使用改型库 public static String[] Webcall(String emailID) { try {

这是我试图调用web服务并获取数据的代码

但当我点击web服务时,我得到了以下异常

失败:HTTP错误代码:404


请告诉我我哪里做错了尝试给出解决方案。

第一件事是检查url是否在使用postman或restclient的计算机上工作,如果工作正常,然后尝试使用以下代码发布,此代码用于使用HttpPost以json格式发布数据。您可以按照Mild的建议使用改型库

public static String[] Webcall(String emailID) {
        try {
            URL url = new URL(AppConfig.URL + emailID);
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Accept", "application/json");
            conn.setRequestProperty("Authorization", "application/json");
            conn.setRequestProperty("userEmailId", emailID);
            if (conn.getResponseCode() != 200) {
                throw new RuntimeException("Failed : HTTP error code : " + conn.getResponseCode());
            }

            BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())));

            String output;
            System.out.println("Output from Server .... \n");
            while ((output = br.readLine()) != null) {
                System.out.println(output);
            }

            conn.disconnect();

            org.json.JSONObject _jsonObject = new org.json.JSONObject(output);
            org.json.JSONArray _jArray = _jsonObject.getJSONArray("manager");
            String[] str = new String[_jArray.length()];

        } catch (MalformedURLException e) {

            e.printStackTrace();

        } catch (IOException e) {

            e.printStackTrace();

        }
        return null;

    }

我认为你应该尝试重新检查你发送请求的URL。
按照输出错误,代码404,表示URL已断开或死链接。

您可以使用jersy客户端和jersy core执行相同的操作。下面是代码片段

public static String POST(String url, String email)
{
        InputStream inputStream = null;
        String result = "";
        try {
            // 1. create HttpClient
            HttpClient httpclient = new DefaultHttpClient();

            // 2. make POST request to the given URL
            HttpPost httpPost = new HttpPost(url);
            String json = "";
            // 3. build jsonObject
            JSONObject jsonObject = new JSONObject();
            jsonObject.accumulate("email", email);
            // 4. convert JSONObject to JSON to String
            json = jsonObject.toString();
            // 5. set json to StringEntity
            StringEntity se = new StringEntity(json);

            // 6. set httpPost Entity
            httpPost.setEntity(se);

            // 7. Set some headers to inform server about the type of the content   
            httpPost.setHeader("Accept", "application/json");
            httpPost.setHeader("Content-type", "application/json");

            // 8. Execute POST request to the given URL
            HttpResponse httpResponse = httpclient.execute(httpPost);

            // 9. receive response as inputStream
            inputStream = httpResponse.getEntity().getContent();

            // 10. convert inputstream to string
            if(inputStream != null)
                result = convertInputStreamToString(inputStream);
            else
                result = "Did not work!";

        } catch (Exception e) {
            Log.d("InputStream", e.getLocalizedMessage());
        }

        // 11. return result
        return result;
    }



private static String convertInputStreamToString(InputStream inputStream) throws IOException{
        BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(inputStream));
        String line = "";
        String result = "";
        while((line = bufferedReader.readLine()) != null)
            result += line;

        inputStream.close();
        return result;

    }  

使用varibales从代码中调用此方法。

抱歉,您不知道404的含义?为什么会出现此错误?请告诉Google 404 http404,url不正确。找不到资源为什么添加了android标记?
    private static void generateXML(String xmlName, String requestXML, String url)
  {
    try
    {
      Client client = Client.create();
      WebResource webResource = client
        .resource(url);
      ClientResponse response = (ClientResponse)webResource.accept(new String[] { "application/xml" }).post(ClientResponse.class, requestXML);
      if (response.getStatus() != 200) {
        throw new RuntimeException("Failed : HTTP error code : " + response.getStatus());
      }
      String output = (String)response.getEntity(String.class);
      PrintWriter writer = new PrintWriter(xmlName, "UTF-8");
      writer.println(output);
      writer.close();
    }
    catch (Exception e) {
      try {
        throw new CustomException("Rest-Client May Be Not Working From Your System");
      } catch (CustomException e1) {
        System.exit(1);
      }
    }
  }