0
I want to invoke my live webservice on android activity and i am using Ksoap technique ,I have made activity are as follows; 

Webservice live on server as -'http://scoolbag.somee.com/service.asmx' 
Method Name- 'TalkTalk' 
Working EmpId- 837382 

I have made two java files out of which one is activity java file and by other i am calling my webservice. 
namely 'Webservice.java' for ANDROID ACTIVITY 
'WebserviceCall.java'for CALLING WEBSERVICE 
================================================================== 

Теперь я буду направлять в мой код раздела, я сделал деятельность с именем '' webservice.javaКак Invoke Dot Net WebService из Android деятельности с KSOAP

Android активность

public class webservice extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_webservice); 
     final Button webserviceCallButton = (Button) findViewById(R.id.btnInvoke); 
     final EditText webserviceResponse = (EditText) findViewById(R.id.editEID); 

     webserviceCallButton.setOnClickListener(new OnClickListener() { 
      public void onClick(View v) { 

       Toast.makeText(getApplicationContext(),"Requesting to server", 
         Toast.LENGTH_LONG).show(); 

       //Create Webservice class object 
       WebserviceCall com = new WebserviceCall(); 

       // Initialize variables 
       String Eid= webserviceResponse.getText().toString(); 


       //Call Webservice class method and pass values and get response 
       String aResponse = com.getTalkTalk(Eid); 

       //Alert message to show webservice response 
       Toast.makeText(getApplicationContext(), Eid+" User= "+aResponse+" Name", 
         Toast.LENGTH_LONG).show(); 

       Log.i("AndroidExampleOutput", "----"+aResponse); 

       webserviceResponse.setText("Response : "+aResponse); 
      } 
     }); 

    }} 

Теперь я покажу вам код, в котором я звоню в webservice, и обратите внимание, что вы вставили файл Ksaop Jar с зависимостью в свободную папку. Пожалуйста, смотрите ниже упомянутый код.

WebserviceCall.java

public class WebserviceCall { 
String namespace = "http://www.niceald.in/"; 
    private String url = "http://scoolbag.somee.com/service.asmx"; 

    String SOAP_ACTION; 
SoapObject request = null, objMessages = null; 
SoapSerializationEnvelope envelope; 
AndroidHttpTransport androidHttpTransport; 

WebserviceCall() { 
} 


/** 
* Set Envelope 
*/ 
protected void SetEnvelope() { 

    try { 

     // Creating SOAP envelope 
     envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 

     //You can comment that line if your web service is not .NET one. 
     envelope.dotNet = true; 

     envelope.setOutputSoapObject(request); 
     androidHttpTransport = new AndroidHttpTransport(url); 
     androidHttpTransport.debug = true; 

    } catch (Exception e) { 
     System.out.println("Soap Exception---->>>" + e.toString()); 
    } 
} 

// MethodName variable is define for which webservice function will call 
public String getTalkTalk(String EMPid) 
{ 

    try { 
     SOAP_ACTION = namespace + EMPid; 

     //Adding values to request object 
     request = new SoapObject(namespace, EMPid); 

     //Adding Double value to request object 
     // PropertyInfo weightProp =new PropertyInfo(); 



     SetEnvelope(); 

     try { 

      //SOAP calling webservice 
      androidHttpTransport.call(SOAP_ACTION, envelope); 

      //Got Webservice response 
      String result = envelope.getResponse().toString(); 

      return result; 

     } catch (Exception e) { 
      // TODO: handle exception 
      return e.toString(); 
     } 
    } catch (Exception e) { 
     // TODO: handle exception 
     return e.toString(); 
    } 

}} 

Я получаю исключение NetworkonMainThread, ознакомьтесь мой код и помочь с альтернативой. Самый лучший способ - использовать мой веб-сервис и дать свой код в качестве ответа.

«Спасибо заранее»

ответ

1

Я думаю, что у вас есть проблемы с конвертом, что вы делаете. Не забудьте проверить эту ссылку, Android Ksoap2 web services asmx и выполнить все шаги. Ниже приведен пример использования ksoap для переноса конверта HttpTransportSE. Пожалуйста, используйте, что, как это,

SoapObject soapObject = new SoapObject(NAMESPACE, METHOD_NAME); 
soapObject.addProperty("Celsius","12"); 
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
envelope.dotNet = true; 
envelope.setOutputSoapObject(soapObject); 
HttpTransportSE httpTransportSE = new HttpTransportSE(URL); 
httpTransportSE.call(SOAP_ACTION, envelope); 
SoapPrimitive soapPrimitive = (SoapPrimitive)envelope.getResponse(); 
Log.d("TAG", "doInBackground: "+soapPrimitive.toString()); 
return soapObject.toString(); 
+0

Хотя это теоретически может ответить на вопрос, [было бы предпочтительнее] (// meta.stackoverflow.com/q/8259), чтобы включить основные части ответа здесь, и укажите ссылку для справки. – Tunaki

+0

Хотя эта ссылка может ответить на вопрос, лучше включить здесь основные части ответа и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. - [Из обзора] (/ review/low-quality-posts/11029078) –

+0

Обновлен мой ответ. @AhmedAshour –

 Смежные вопросы

  • Нет связанных вопросов^_^