/ / El servicio web básico de Android no funciona: Android, servicios web

El servicio web básico de Android no funciona - android, servicios web

Solo estoy tratando de hacer un servicio web simple con mi proyecto de muestra de Android y parece que no puedo hacerlo funcionar. Aquí está mi código:

private final String NAMESPACE = "http://tempuri.org/";
private final String URL = "http://blah/Service1.asmx";
private final String SOAP_ACTION = "http://tempuri.org/HelloWorld";
private final String METHOD_NAME = "HelloWorld";
private String TAG = "SOAP";
private static String message;

Button b;
TextView tv;


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


tv = (TextView) findViewById(R.id.textView1);

b = (Button) findViewById(R.id.button1);
//Button Click Listener
b.setOnClickListener(new OnClickListener() {
public void onClick(View v) {

getMessage();

}
});
}

public void getMessage() {

//Create request
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
//Property which holds input parameters
PropertyInfo messagePI = new PropertyInfo();
//Set Name
messagePI.setName("Practice");
//Set Value
messagePI.setValue(messagePI);
//Set dataType
messagePI.setType(String.class);
//Add the property to request object
request.addProperty(messagePI);
//Create envelope
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.dotNet = true;
//Set output SOAP object
envelope.setOutputSoapObject(request);
//Create HTTP call object
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);

try {
//Invoke web service
androidHttpTransport.call(SOAP_ACTION, envelope);
//Get the response
SoapObject result = (SoapObject) envelope.bodyIn;


if(result !=null){
tv.setText(result.getProperty(0).toString());
}


//tv.setText("" + results);

} catch (Exception e) {
tv.setText(e.getMessage());
//e.printStackTrace();
}
}

Cuando lo paso, aparece un error en la línea SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); diciendo que es de un AndroidRuntime Error... Literalmente acabo de copiar este código de un tutorial para que funcione, pero parece que no puedo entender por qué no.

LogCat:

07-08 07:07:20.285: E/AndroidRuntime(6979): java.lang.NoClassDefFoundError: org.ksoap2.serialization.SoapObject
07-08 07:07:20.285: E/AndroidRuntime(6979):     at com.example.mysoap.MainActivity.getMessage(MainActivity.java:100)
07-08 07:07:20.285: E/AndroidRuntime(6979):     at com.example.mysoap.MainActivity$1.onClick(MainActivity.java:58)
07-08 07:07:20.285: E/AndroidRuntime(6979):     at android.view.View.performClick(View.java:2482)
07-08 07:07:20.285: E/AndroidRuntime(6979):     at android.view.View$PerformClick.run(View.java:9077)
07-08 07:07:20.285: E/AndroidRuntime(6979):     at android.os.Handler.handleCallback(Handler.java:587)
07-08 07:07:20.285: E/AndroidRuntime(6979):     at android.os.Handler.dispatchMessage(Handler.java:92)
07-08 07:07:20.285: E/AndroidRuntime(6979):     at android.os.Looper.loop(Looper.java:130)
07-08 07:07:20.285: E/AndroidRuntime(6979):     at android.app.ActivityThread.main(ActivityThread.java:3683)
07-08 07:07:20.285: E/AndroidRuntime(6979):     at java.lang.reflect.Method.invokeNative(Native Method)
07-08 07:07:20.285: E/AndroidRuntime(6979):     at java.lang.reflect.Method.invoke(Method.java:507)
07-08 07:07:20.285: E/AndroidRuntime(6979):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
07-08 07:07:20.285: E/AndroidRuntime(6979):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
07-08 07:07:20.285: E/AndroidRuntime(6979):     at dalvik.system.NativeStart.main(Native Method)

Aquí hay una captura de pantalla de mis bibliotecas que tengo.

enter image description here

Aquí está mi logcat del segundo problema ahora ...

07-08 09:38:10.515: E/AndroidRuntime(7429): FATAL EXCEPTION: main
07-08 09:38:10.515: E/AndroidRuntime(7429): java.lang.StackOverflowError
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.String._getChars(String.java:1040)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.AbstractStringBuilder.append0(AbstractStringBuilder.java:155)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.StringBuffer.append(StringBuffer.java:219)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at org.ksoap2.serialization.PropertyInfo.toString(PropertyInfo.java:215)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.StringBuffer.append(StringBuffer.java:203)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at org.ksoap2.serialization.PropertyInfo.toString(PropertyInfo.java:219)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.StringBuffer.append(StringBuffer.java:203)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at org.ksoap2.serialization.PropertyInfo.toString(PropertyInfo.java:219)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.StringBuffer.append(StringBuffer.java:203)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at org.ksoap2.serialization.PropertyInfo.toString(PropertyInfo.java:219)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.StringBuffer.append(StringBuffer.java:203)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at org.ksoap2.serialization.PropertyInfo.toString(PropertyInfo.java:219)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.StringBuffer.append(StringBuffer.java:203)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at org.ksoap2.serialization.PropertyInfo.toString(PropertyInfo.java:219)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.StringBuffer.append(StringBuffer.java:203)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at org.ksoap2.serialization.PropertyInfo.toString(PropertyInfo.java:219)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.StringBuffer.append(StringBuffer.java:203)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at org.ksoap2.serialization.PropertyInfo.toString(PropertyInfo.java:219)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.StringBuffer.append(StringBuffer.java:203)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at org.ksoap2.serialization.PropertyInfo.toString(PropertyInfo.java:219)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.StringBuffer.append(StringBuffer.java:203)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at org.ksoap2.serialization.PropertyInfo.toString(PropertyInfo.java:219)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.StringBuffer.append(StringBuffer.java:203)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at org.ksoap2.serialization.PropertyInfo.toString(PropertyInfo.java:219)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.StringBuffer.append(StringBuffer.java:203)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at org.ksoap2.serialization.PropertyInfo.toString(PropertyInfo.java:219)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.StringBuffer.append(StringBuffer.java:203)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at org.ksoap2.serialization.PropertyInfo.toString(PropertyInfo.java:219)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.StringBuffer.append(StringBuffer.java:203)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at org.ksoap2.serialization.PropertyInfo.toString(PropertyInfo.java:219)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.StringBuffer.append(StringBuffer.java:203)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at org.ksoap2.serialization.PropertyInfo.toString(PropertyInfo.java:219)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.StringBuffer.append(StringBuffer.java:203)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at org.ksoap2.serialization.PropertyInfo.toString(PropertyInfo.java:219)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.StringBuffer.append(StringBuffer.java:203)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at org.ksoap2.serialization.PropertyInfo.toString(PropertyInfo.java:219)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.StringBuffer.append(StringBuffer.java:203)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at org.ksoap2.serialization.PropertyInfo.toString(PropertyInfo.java:219)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.StringBuffer.append(StringBuffer.java:203)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at org.ksoap2.serialization.PropertyInfo.toString(PropertyInfo.java:219)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.StringBuffer.append(StringBuffer.java:203)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at org.ksoap2.serialization.PropertyInfo.toString(PropertyInfo.java:219)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.StringBuffer.append(StringBuffer.java:203)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at org.ksoap2.serialization.PropertyInfo.toString(PropertyInfo.java:219)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.StringBuffer.append(StringBuffer.java:203)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at org.ksoap2.serialization.PropertyInfo.toString(PropertyInfo.java:219)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.StringBuffer.append(StringBuffer.java:203)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at org.ksoap2.serialization.PropertyInfo.toString(PropertyInfo.java:219)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.StringBuffer.append(StringBuffer.java:203)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at org.ksoap2.serialization.PropertyInfo.toString(PropertyInfo.java:219)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.StringBuffer.append(StringBuffer.java:203)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at   org.ksoap2.serialization.PropertyInfo.toString(PropertyInfo.java:219)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.StringBuffer.append(StringBuffer.java:203)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at org.ksoap2.serialization.PropertyInfo.toString(PropertyInfo.java:219)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.StringBuffer.append(StringBuffer.java:203)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at org.ksoap2.serialization.PropertyInfo.toString(PropertyInfo.java:219)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.StringBuffer.append(StringBuffer.java:203)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at org.ksoap2.serialization.PropertyInfo.toString(PropertyInfo.java:219)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.StringBuffer.append(StringBuffer.java:203)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at org.ksoap2.serialization.PropertyInfo.toString(PropertyInfo.java:219)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at java.lang.StringBuffer.append(StringBuffer.java:203)
07-08 09:38:10.515: E/AndroidRuntime(7429):     at org.ksoap2.serializatio

Esta es la línea en la que se equivoca ahora androidHttpTransport.call(SOAP_ACTION, envelope);

Respuestas

0 para la respuesta № 1

Debe agregar el archivo jar ksoap a sus bibliotecasdirectorio en su proyecto para que cuando se construya el apk el paquete se incluya en él. La excepción que está recibiendo me dice que el código no se incluyó correctamente, por lo que obtiene un error de clase no encontrada.