title: RESTful Web service json responses return null in java
body: <p>I'm new to Android and Web Services programming using Java and I've been having issues connecting my android app to my java web service.
  I've deployed the web service on tomcat and it's connecting on my phone browser but the HttpClient returns null each time I try connecting from my Android app.</p>
  
  <p>Here is my source code.</p>
  
  <pre><code>public class ServiceHandler {
  
  static String response = null;
  public final static int GET = 1;
  public final static int POST = 2;
  
  public ServiceHandler() {
  
  }
  
  /**
   * Making service call
   * @url - url to make request
   * @method - http request method
   * */
  public String makeServiceCall(String url, int method) {
      return this.makeServiceCall(url, method, null);
  }
  
  /**
   * Making service call
   * @url - url to make request
   * @method - http request method
   * @params - http request params
   * */
  public String makeServiceCall(String url, int method, List&lt;NameValuePair&gt; params) {
      try {
          // http client
          DefaultHttpClient httpClient = new DefaultHttpClient();
          HttpEntity httpEntity = null;
          HttpResponse httpResponse = null;
  
          // Checking http request method type
          if (method == POST) {
              HttpPost httpPost = new HttpPost(url);
              // adding post params
              if (params != null) {
                  httpPost.setEntity(new UrlEncodedFormEntity(params));
              }
  
              httpResponse = httpClient.execute(httpPost);
  
          } else if (method == GET) {
              // appending params to url
              if (params != null) {
                  String paramString = URLEncodedUtils
                          .format(params, "utf-8");
                  url += "?" + paramString;
              }
              HttpGet httpGet = new HttpGet(url);
  
              httpResponse = httpClient.execute(httpGet);
  
          }
          httpEntity = httpResponse.getEntity();
          response = EntityUtils.toString(httpEntity);
  
      } catch (UnsupportedEncodingException e) {
          e.printStackTrace();
      } catch (ClientProtocolException e) {
          e.printStackTrace();
      } catch (IOException e) {
          e.printStackTrace();
      }
  
      return response;
  
  }
  </code></pre>
  
  <p>}</p>
  
  <pre><code>private class Authenticate extends AsyncTask&lt;Void, Void, Void&gt;{
  
      @Override
      protected void onPreExecute() {
          super.onPreExecute();
          // Showing progress dialog
          pDialog = new ProgressDialog(LoginActivity.this);
          pDialog.setMessage("Please wait...");
          pDialog.setCancelable(false);
          pDialog.show();
      }
  
      @Override
      protected Void doInBackground(Void... arg0) {
          // Creating service handler class instance
          ServiceHandler sh = new ServiceHandler();
  
  
          String url = "http://192.168.34.1:8080/SchoolWebService/rest/User/"+username+","+password;
  
          // Making a request to url and getting response
          String jsonStr = sh.makeServiceCall(url, ServiceHandler.GET);
  
          Log.d("Response: ", "&gt; " + jsonStr);
  
          if (jsonStr != null) {
              try {
                  JSONObject c = new JSONObject(jsonStr);
  
                  String uname = c.getString("username");
                  String pword = c.getString("password");
                  snackbar.setText("Authenticated").show();
              } catch (JSONException e) {
                  e.printStackTrace();
              }
          } else {
              snackbar.setText("Authentication Failed!").show();
          }
  
          return null;
      }
  
      @Override
      protected void onPostExecute(Void result) {
          super.onPostExecute(result);
          // Dismiss the progress dialog
          if (pDialog.isShowing())
              pDialog.dismiss();
      }
  }
  </code></pre>
  
  <p>The Log.d(....); statement always returns null.</p>