2013-04-02 240 views
1
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 [email protected])的Android KSOAP2 Web服务错误

我得到这个错误,当我尝试我的Android应用程序连接到在本地主机上运行的Web服务。

这是KSOAP网络服务的完整代码。 目前我在Eclipse中使用我的模拟器运行本地主机服务器。

+0

哪里是你的网址是什么? – Raghunandan

+0

其中是代码中的名称空间。 – Yugesh

+0

在您的代码中URL和名称空间丢失。 – Yugesh

回答

0

尝试另一个线程中使用这样的代码

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

StrictMode.setThreadPolicy(policy); 
相关问题