2016-09-07 18 views
-1
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; 

    } 

これは私のコードです。私はWebサービスを呼び出してデータを取得しようとしています。ポストメソッドを使用してJavaでWebサービスを呼び出す方法

しかし、私は、Webサービスを打ったとき、私は例外

の下に取得していますが失敗しました:HTTPエラーコード:404

をどこが、このためのソリューションを提供するために、間違った試みをやっている私を提案してください。

+0

申し訳ありませんが、404が何を意味するのかわかりません。 –

+0

なぜこのエラーが発生するのですか。 –

+0

google 404 http –

答えて

0

まず最初に、チェックのURLである、それは郵便配達やrestclientを使用してコンピュータ上で動作していて、それが正常に動作している場合は、コードの下に使用して投稿してみました、このコードは、HttpPostを使用してJSON形式のデータを掲示するためにあなたが改造を使用することができますですMiladが提案したように。

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; 

    } 
0

あなたがリクエストを送信したURLを再確認してください。 出力エラー404に続いて、URLが壊れているか、リンクが切れていることを示します。

0

あなたはjersy-クライアントとjersy core.Hereを使用して同じことを行うことができますvaribalesであなたのコードからこのメソッドを呼び出し

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); 
     } 
    } 
    } 

コードスニペットです。

関連する問題