Click here to Skip to main content
15,891,431 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
 package com.example.test;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.*;

import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.widget.TextView;
import android.widget.Toast;

import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.PropertyInfo;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.transport.AndroidHttpTransport;
import org.ksoap2.transport.HttpTransportSE;


public class MainActivity extends Activity {

	 /** Called when the activity is first created. */
    
    private static String SOAP_ACTION = "http://tempuri.org/HelloWorld";
    private static String NAMESPACE = "http://tempuri.org/";
    private static String METHOD_NAME = "HelloWorld";
    private static String URL = "http://117.227.58.74/vehicle//WebService.asmx";
    String weight = "77";
    String fromUnit = "78";

	TextView tv;
	
	
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    //tv =(TextView)findViewById(R.id.textView1);
        
        
    
    SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME);
    
    PropertyInfo weightProp =new PropertyInfo();
    weightProp.setName("lat");
    weightProp.setValue(weight);
    weightProp.setType(double.class);
    Request.addProperty(weightProp);
     
    PropertyInfo fromProp =new PropertyInfo();
    fromProp.setName("log");
    fromProp.setValue(fromUnit);
    fromProp.setType(double.class);
    Request.addProperty(fromProp);
   
    SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);    
    soapEnvelope.dotNet = true;
    soapEnvelope.setOutputSoapObject(Request);
    Toast.makeText(getBaseContext(),"1",Toast.LENGTH_LONG).show();
    HttpTransportSE aht = new HttpTransportSE(URL);
    try 
    {
    	Toast.makeText(getBaseContext(),"2",Toast.LENGTH_LONG).show();
    	aht.call(SOAP_ACTION, soapEnvelope);
    	Toast.makeText(getBaseContext(),"3",Toast.LENGTH_LONG).show();
    	SoapPrimitive resultString = (SoapPrimitive)soapEnvelope.getResponse();
    	Toast.makeText(getBaseContext(),"4",Toast.LENGTH_LONG).show();
    	 //Log.i("myApp", response.toString());
    	//tv.setText("Status:" + resultString);
    	
    	
    } catch (Exception e)
    	
    {
    
    	e.printStackTrace(); 
    
   	   }

    }
}
Posted
Updated 21-Oct-17 1:13am
Comments
Sudhakar Shinde 30-Mar-13 22:58pm    
Please provide full error trace.
Chirag7691 2-Apr-13 2:46am    
error trace
<pre>04-01 23:46:20.652: I/System.out(1019): in Error
04-01 23:46:20.652: W/System.err(1019): android.os.NetworkOnMainThreadException
04-01 23:46:20.662: W/System.err(1019): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1117)
04-01 23:46:20.662: W/System.err(1019): at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:84)
04-01 23:46:20.662: W/System.err(1019): at libcore.io.IoBridge.connectErrno(IoBridge.java:127)
04-01 23:46:20.662: W/System.err(1019): at libcore.io.IoBridge.connect(IoBridge.java:112)
04-01 23:46:20.672: W/System.err(1019): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
04-01 23:46:20.672: W/System.err(1019): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459)
04-01 23:46:20.672: W/System.err(1019): at java.net.Socket.connect(Socket.java:842)
04-01 23:46:20.672: W/System.err(1019): at libcore.net.http.HttpConnection.<init>(HttpConnection.java:76)
04-01 23:46:20.672: W/System.err(1019): at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
04-01 23:46:20.702: W/System.err(1019): at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:341)
04-01 23:46:20.702: W/System.err(1019): at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
04-01 23:46:20.715: W/System.err(1019): at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
04-01 23:46:20.715: W/System.err(1019): at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:315)
04-01 23:46:20.722: W/System.err(1019): at libcore.net.http.HttpEngine.connect(HttpEngine.java:310)
04-01 23:46:20.722: W/System.err(1019): at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:289)
04-01 23:46:20.733: W/System.err(1019): at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:239)
04-01 23:46:20.733: W/System.err(1019): at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:80)
04-01 23:46:20.742: W/System.err(1019): at org.ksoap2.transport.ServiceConnectionSE.connect(ServiceConnectionSE.java:46)
04-01 23:46:20.742: W/System.err(1019): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:68)
04-01 23:46:20.742: W/System.err(1019): at com.example.test.MainActivity.onCreate(MainActivity.java:71)
04-01 23:46:20.742: W/System.err(1019): at android.app.Activity.performCreate(Activity.java:5008)
04-01 23:46:20.752: W/System.err(1019): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
04-01 23:46:20.752: W/System.err(1019): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
04-01 23:46:20.762: W/System.err(1019): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
04-01 23:46:20.762: W/System.err(1019): at android.app.ActivityThread.access$600(ActivityThread.java:130)
04-01 23:46:20.762: W/System.err(1019): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
04-01 23:46:20.762: W/System.err(1019): at android.os.Handler.dispatchMessage(Handler.java:99)
04-01 23:46:20.762: W/System.err(1019): at android.os.Looper.loop(Looper.java:137)
04-01 23:46:20.772: W/System.err(1019): at android.app.ActivityThread.main(ActivityThread.java:4745)
04-01 23:46:20.772: W/System.err(1019): at java.lang.reflect.Method.invokeNative(Native Method)
04-01 23:46:20.772: W/System.err(1019): at java.lang.reflect.Method.invoke(Method.java:511)
04-01 23:46:20.784: W/System.err(1019): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
04-01 23:46:20.784: W/System.err(1019): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
04-01 23:46:20.784: W/System.err(1019): at dalvik.system.NativeStart.main(Native Method)
04-01 23:46:21.122: I/Choreographer(1019): Skipped 53 frames! The application may be doing too much work on its main thread.</pre>
Member 9404848 2-Apr-13 12:21pm    
hey i think i have solution please try it in android mobile bye creating

apk...i think it will work...because when i try to run simple web-service

example in emulator it throws same Exception but when i try it in blue

stack it work perfectly ....try it CHAKA.. :-)

Use this code in "onCreate()" method


//////////////////////////////////////////////////////////////////////////////////

try {
if(android.os.Build.VERSION.SDK_INT>9)
{
StrictMode.ThreadPolicy policy=new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}

} catch (Exception e) {
// TODO: handle exception
}
 
Share this answer
 
Please call your Web services in a Thread, in android its better to call in AsynTask, doInBackground()
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900