title: Network On Main Thread Exception when calling a webservice
body: <p>i have this java class:</p>
  
  <pre><code>import org.ksoap2.SoapEnvelope;
  import org.ksoap2.serialization.PropertyInfo;
  import org.ksoap2.serialization.SoapObject;
  import org.ksoap2.serialization.SoapSerializationEnvelope;
  import org.ksoap2.transport.HttpTransportSE;
  import android.app.Activity;
  import android.content.Intent;
  import android.os.Bundle;
  import android.view.View;
  import android.view.View.OnClickListener;
  import android.widget.Button;
  import android.widget.EditText;
  import android.widget.TextView;
  
  public class MainActivity extends Activity
  {
  private static final String SOAP_ACTION = "http://tempuri.org/findContact";
  
  private static final String OPERATION_NAME = "findContact";// your webservice web method name
  
  private static final String WSDL_TARGET_NAMESPACE = "http://tempuri.org/";
  
  private static final String SOAP_ADDRESS = "http://10.0.2.2:20959/test/Service.asmx";
  
  
  TextView tvData1;
  EditText edata;
  Button button;
  String studentNo;
  
  @Override
  public void onCreate(Bundle savedInstanceState) {
  
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
  
      tvData1 = (TextView)findViewById(R.id.textView);
  
      button=(Button)findViewById(R.id.button);
  
      button.setOnClickListener(new OnClickListener() {
  
          public void onClick(View v) {
  
              SoapObject request = new SoapObject(WSDL_TARGET_NAMESPACE,     OPERATION_NAME);
              PropertyInfo propertyInfo = new PropertyInfo();
              propertyInfo.type = PropertyInfo.STRING_CLASS;
              propertyInfo.name = "eid";
  
              edata =(EditText)findViewById(R.id.editText);
              studentNo=edata.getText().toString();
  
              request.addProperty(propertyInfo, studentNo);
  
              SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                      SoapEnvelope.VER11);
              envelope.dotNet = true;
  
              envelope.setOutputSoapObject(request);
  
              HttpTransportSE httpTransport = new HttpTransportSE(SOAP_ADDRESS);
  
              try  {
                  httpTransport.call(SOAP_ACTION, envelope);
                  Object response = envelope.getResponse();
                  tvData1.setText(response.toString());
              }  catch (Exception exception)   {
                  tvData1.setText(exception.toString()+"  Or enter number is not Available!");
              }
  
              tvData1 = (TextView)findViewById(R.id.textView);
  
          }
      });
  
  
  }
  
  }
  </code></pre>
  
  <p>Which calls a webservice i created in C#. And im using Android Studio to create an application that call this webservice.</p>
  
  <p>But when i run it i got this error:</p>
  
  <pre><code>android.os.NetworkOnMainThreadException
  </code></pre>
  
  <p>BTW I added the internet permission in the manifest.</p>
  
  <p>How to solve this?</p>