0

Я получаю исключение в следующем кодеksoap2 обработка исключений в андроида

   package com.dipl.smpm.smpm; 

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 org.ksoap2.transport.HttpTransport; 

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.TextView; 
import android.widget.Toast; 
public class ConnectHttp extends Activity { 
    private static final String SOAP_ACTION = "http://tempuri.org/loginDetails"; 
    private static final String METHOD_NAME = "loginDetails"; 
    private static final String NAMESPACE = "http://tempuri.org/"; 
    private static final String URL = "http://localhost:88/EmpService.asmx"; 
    TextView tv; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 
    tv=(TextView)findViewById(R.id.textView11); 
    SoapObject sobj_requestLogin=new SoapObject(NAMESPACE, METHOD_NAME); 
    sobj_requestLogin.addProperty("username", "a"); 
    sobj_requestLogin.addProperty("password", "a"); 
    SoapSerializationEnvelope spenve_Login = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
    spenve_Login.dotNet=true; 
    spenve_Login.setOutputSoapObject(sobj_requestLogin); 

    AndroidHttpTransport htrans_login= new AndroidHttpTransport(URL); 

    try{ 
     Toast.makeText(getApplicationContext(), "1", Toast.LENGTH_SHORT).show(); 
     htrans_login.call(SOAP_ACTION,spenve_Login); 
     Toast.makeText(getApplicationContext(), "2", Toast.LENGTH_SHORT).show(); 
     SoapPrimitive spprim_login=(SoapPrimitive)spenve_Login.getResponse(); 
     Toast.makeText(getApplicationContext(), "3", Toast.LENGTH_SHORT).show(); 
     tv.setText("result: "+spprim_login+" "); 
     Toast.makeText(getApplicationContext(), "4", Toast.LENGTH_SHORT).show(); 
    } 
    catch(Exception e){ 
     Toast.makeText(getApplicationContext(), "Exception", Toast.LENGTH_LONG).show(); 
    } 


} 
} 

Я получаю тост «1» успешно, но его тут же собирается на «исключение» тост, прежде чем тост «2» приходит. помогите мне в чем моя ошибка? также я использую 2.3 ksoap2 2.3 jar как пользовательский lib.

+0

отправьте свой лог-кошка, пожалуйста. – Nirmal

+0

ошибок в logcat .... если это необходимо, я буду загружать –

+0

, но это будет «исключение» ?? какое исключение вы получаете? – Nirmal

ответ

0

я только изменил Localhost в URL для IP локальной системы. решается. спасибо @NIRMAL

0

Использование.

final String SOAP_ACTION = "http://tempuri.org/loginDetails"; 
    final String METHOD_NAME = "loginDetails"; 
    final String NAMESPACE = "http://tempuri.org/"; 
    final String URL = "http://localhost:88/EmpService.asmx"; 


    SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 
    request.addProperty("username", "a"); 
    request.addProperty("password", "b"); 
    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
          envelope.dotNet = true; 
         envelope.setOutputSoapObject(request); 

    HttpTransportSE ht = new HttpTransportSE(URL); 

    try { 
      ht.call(SOAP_ACTION, envelope); 
      final SoapPrimitive response = (SoapPrimitive) envelope.getResponse(); 
       String str = response.toString();   
     } 
    catch (Exception e) 
    { 
     e.printStackTrace(); 
    } 

Добавить эту строку в Manifest.xml:

<uses-permission android:name="android.permission.INTERNET" /> 
+0

Извините те же повторы –

+0

, тогда проблема может быть вашим именем пользователя и паролем. что тот же параметр вы использовали в своем веб-сервисе? – Nirmal

+0

да то же самое. Должен ли я включать имя параметра param также? я не знаю, как на самом деле написана веб-служба. один из моих друзей помог мне в этом –