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

I don’t know what exactly is the problem, but I get an error like: Even I also check all the paths, and rightly so, but still it will get an error.

java.net.MalformedURLException: protocol not found: www.w3schools.com/webservices/tempconvert.asmx

My code is:

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 do not know what the exact problem is, but I get an error, for example:

 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) 
+8
java android textview button
source share
2 answers

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

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

you missed the http:// protocol

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

Note:
If you just need to convert from Celsius to Fahrenhiet ot the other way around, you can try the following:

 function C2F ( C ) { var F = eval ((C x 9 / 5) +32) return ( F ); } function F2C ( F ) { var C = eval ( F - 32 ) * 5 / 9; return ( C ); } 
+2
source share

All Articles