首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >org.xmlpull.v1.xmlpullparserexception使用start_tag时预期的ksoap2错误

org.xmlpull.v1.xmlpullparserexception使用start_tag时预期的ksoap2错误
EN

Stack Overflow用户
提问于 2013-12-26 03:44:38
回答 1查看 4.6K关注 0票数 3

我使用ksoap2通过web服务连接.NET。这是我的数据集

代码语言:javascript
复制
public DataSet getphimall()
{
    DataSet ds1 = new DataSet();
    try
    {
        SqlConnection cnn = new SqlConnection("Data Source=.\\SQLEXPRESS;Initial Catalog=EMHAUI;Integrated Security=True");
        SqlCommand cmd = new SqlCommand("sp_GetAllSemester_ad", cnn);
        cmd.CommandType = CommandType.StoredProcedure;
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        da.Fill(ds1);
        return ds1;
    }
    catch (Exception e)
    {
        return null;
    }
}

这是我的网络服务

代码语言:javascript
复制
[WebMethod]
    public DataSet getSM()
    {
        Class1 phim1 = new Class1();

        return phim1.getphimall();
    }

这是我的javaconnector类

代码语言:javascript
复制
public class getSM {
String tenphim;
String daodien;
private static final String SOAP_ACTION = "http://tempuri.org/getSM";
private static final String METHOD_NAME = "getSM";
private static final String NAMESPACE = "http://tempuri.org/";
private static final String URL = "http://10.0.2.2:50532/wsAndroid.asmx";
public getSM getallphim()
{



    SoapObject table = null;                       
    SoapObject client = null;                        
    SoapObject tableRow = null;                        
    SoapObject responseBody = null;                    
    AndroidHttpTransport transport = null;            
    SoapSerializationEnvelope sse = null;
    //cái này trong tut viết thế, mình lười đổi tên


    sse = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
    sse.addMapping(NAMESPACE, "getSM", this.getClass());
    sse.dotNet = true; 
    AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport(URL);

    getSM setphim = new getSM();
    try 
    {
        client = new SoapObject(NAMESPACE, METHOD_NAME);
        sse.setOutputSoapObject(client);
        sse.bodyOut = client;
        androidHttpTransport.call(SOAP_ACTION, sse);

        responseBody = (SoapObject) sse.getResponse();
        responseBody = (SoapObject) responseBody.getProperty(1);
        table = (SoapObject) responseBody.getProperty(0);
        tableRow = (SoapObject) table.getProperty(0);
        setphim.daodien = tableRow.getProperty("ID").toString();
        setphim.tenphim = tableRow.getProperty("SemesterName").toString();
        return setphim;

    } catch (Exception e) 
    {
        setphim.daodien = e.toString();
        setphim.tenphim = e.toString();
        return setphim;
    }

}}

但是当我运行我的模拟器时,我有一个错误org.xmlpull.v1.xmlpullparserexception预期的start_tag错误--请帮帮我!谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-26 04:47:49

您可能会遇到一些例外的原因。

  1. 调用的错误参数:通过查看WSDL文件,尝试确认名称空间、操作、方法和的值是否正确。
  2. 来自服务器的无效响应:尝试记录服务器发送给您的响应,并检查您是否获得了正确的结构化XML。 androidHttpTransport.debug =真; //执行请求 来自服务器的androidHttpTransport.responseDump;//响应字符串
  3. 信封的soapEnvelope.dotNet=true dotNet属性:尝试使用
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20778846

复制
相关文章

相似问题

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