мой веб-сервис не вызывается из andriod, вызывая исключение networkonmainthreadexception
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(); } } }
Sudhakar Shinde
Пожалуйста, предоставьте полную трассировку ошибок.
Chirag7691
трассировка ошибок
<pre>04-01 23:46:20.652: I/System.out(1019): ошибка
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.Ява:71)
04-01 23:46:20.742: Ж/Системы.ошибаться(1019): на Андроид.приложение.Деятельности.performCreate(деятельности.Ява:5008)
04-01 23:46:20.752: Ж/Системы.ошибаться(1019): на Андроид.приложение.Контрольно-измерительные приборы.callActivityOnCreate(контрольно-измерительные приборы.Ява: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.Метод.invokeNative(родной метод)
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: я/хореограф(1019): пропущено 53 кадра! Приложение может выполнять слишком много работы в своем основном потоке.</pre>
Member 9404848
Привет я думаю у меня есть решение, пожалуйста, попробуйте его в Android смартфоне или планшете пока создание
apk...я думаю, что это сработает...потому что когда я пытаюсь запустить простой веб-сервис
пример в эмуляторе он выдает такое же исключение но когда я пробую его в синем цвете
стек это работает отлично .... попробуйте это Чака.. :-)