How to solve this error in Android? java.net.MalformedURLException: Protocol not found:

.net, android, button, java, textview

Solution

Add `http://` before the `www...` or `https://`.

public String URL = "http://www.w3schools.com/webservices/tempconvert.asmx";

Problem

I dont know what is exactly problem, But I am getting error like: Even I also checking all paths, and it is correct but still it will get error. java.net.MalformedURLException: Protocol not found: www.w3schools.com/webservices/tempconvert.asmx My Code: ``` package com.example.mytest; import org.ksoap2.SoapEnvelope; import org.ksoap2.serialization.SoapObject; import org.ksoap2.serialization.SoapPrimitive; import org.ksoap2.serialization.SoapSerializationEnvelope; import org.ksoap2.transport.AndroidHttpTransport; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.widget.TextView; @SuppressWarnings("deprecation") public class MainActivity extends Activity { private final String SOAP_ACTION = "http://tempuri.org/CelsiusToFahrenheit"; private final String METHOD_NAME = "CelsiusToFahrenheit"; public final String NAMESPACE = "http://tempuri.org"; public String URL = "www.w3schools.com/webservices/tempconvert.asmx"; TextView tv; public static String TAG = "MyTest"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d(TAG, "MainActivity Started"); tv = (TextView) findViewById(R.id.txt1); SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME); Request.addProperty("Celsius", "32"); // URL=URL.replaceAll(" ", "%20"); SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope( SoapEnvelope.VER11); soapEnvelope.dotNet = true; soapEnvelope.setOutputSoapObject(Request); Log.d(TAG, "URL:"+URL); AndroidHttpTransport aht = new AndroidHttpTransport(URL); try { // HttpTransportSE aht = new HttpTransportSE(URL); Log.d(TAG, "aht:" + aht); aht.call(SOAP_ACTION, soapEnvelope); SoapPrimitive resultString = (SoapPrimitive) soapEnvelope .getResponse(); // Object resultString = (Object)soapEnvelope.getResponse(); Log.d(TAG, "result String=" + resultString); tv.setText("Status: " + resultString); } catch (Exception e) { Log.d(TAG, "Error: ", e); } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } } ``` I dont know what is exact problem but I am getting error like: ``` 02-01 21:07:01.264: D/MyTest(1068): MainActivity Started 02-01 21:07:01.534: D/MyTest(1068): Error: 02-01 21:07:01.534: D/MyTest(1068): java.net.MalformedURLException: Protocol not found: www.w3schools.com/webservices/tempconvert.asmx 02-01 21:07:01.534: D/MyTest(1068): at java.net.URL.<init>(URL.java:275) 02-01 21:07:01.534: D/MyTest(1068): at java.net.URL.<init>(URL.java:159) 02-01 21:07:01.534: D/MyTest(1068): at org.ksoap2.transport.ServiceConnectionSE.<init>(ServiceConnectionSE.java:65) 02-01 21:07:01.534: D/MyTest(1068): at org.ksoap2.transport.ServiceConnectionSE.<init>(ServiceConnectionSE.java:61) 02-01 21:07:01.534: D/MyTest(1068): at org.ksoap2.transport.AndroidServiceConnection.<init>(AndroidServiceConnection.java:27) 02-01 21:07:01.534: D/MyTest(1068): at org.ksoap2.transport.AndroidHttpTransport.getServiceConnection(AndroidHttpTransport.java:35) 02-01 21:07:01.534: D/MyTest(1068): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:124) 02-01 21:07:01.534: D/MyTest(1068): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:95) ```

Original source

Related problems