简体   繁体   中英

Android KSOAP2 web service Error

package com.example.weblab;
import org.apache.http.protocol.HTTP;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.PropertyInfo;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import android.util.Log;


public class WebServiceCaller {

private final String NAMESPACE="http://tempuri.org/";
private final String URL="http://10.0.2.2:8080/Service1.asmx?WSDL";

public String authenticateUser(String usern,String passw)
{
    String result = "";
    final String SOAP_ACTION="http://tempuri.org/AuthenticateUser";

    final String METHOD_NAME="GetUserName";

    SoapObject request=new SoapObject(NAMESPACE, METHOD_NAME);

    PropertyInfo prinfo=new PropertyInfo();
    prinfo.setName("name");
    prinfo.setValue(usern);
    prinfo.setType(String.class);
    request.addProperty(prinfo);

    SoapSerializationEnvelope envelop=new      SoapSerializationEnvelope(SoapEnvelope.VER11);//ver11 version
    envelop.dotNet=true;//only for dotnet

    envelop.setOutputSoapObject(request);
    HttpTransportSE httptransportse=new HttpTransportSE(URL);
    try{
    httptransportse.call(SOAP_ACTION, envelop);

    SoapPrimitive response=(SoapPrimitive)envelop.getResponse();

    Log.i("myapp",response.toString());

        result = response.toString();

    }catch (Exception e) {

        e.printStackTrace();

    }

    return result;

}   
}

04-02 09:39:26.044: W/System.err(13741): org.xmlpull.v1.XmlPullParserException: expected: START_TAG {http://schemas.xmlsoap.org/soap/envelope/}Envelope (position:START_TAG <html>@2:7 in java.io.InputStreamReader@40d38638)

I get this error when i trying to connect my android application to a web service which is running in local host.

This is the full code for the KSOAP web service. Currently I'm running a local host server with my emulator in Eclipse.

try to use your code within another thread like this

 StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();

 StrictMode.setThreadPolicy(policy); 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM