首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android KSOAP2 web服务错误

Android KSOAP2 web服务错误
EN

Stack Overflow用户
提问于 2013-04-02 18:15:52
回答 1查看 271关注 0票数 1
代码语言:javascript
复制
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)

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-02 21:27:59

尝试在另一个线程中使用您的代码,如下所示

代码语言:javascript
复制
 StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();

 StrictMode.setThreadPolicy(policy); 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15761560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档