“org.xmlpull.v1.XmlPullParserException:expected:START_TAG”错误

时间:2011-04-26 13:50:03

标签: android xml web-services soap ksoap2

在我的应用程序中,我正在访问本地系统中的一些Web服务。当我从我的PC调用这些服务时,这些所有工作的腹肌很好但是当这些服务从另一个系统调用时。在通话中我收到错误

  

“org.xmlpull.v1.XmlPullParserException:   预期:START_TAG“。

这是我的代码:

    public String getAccountsNames(int billId){

        String value = new String();
        System.out.println("Inside getAccountsDetails method...........");
        SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
        request.addProperty("billId", billId);

        SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
        soapEnvelope.dotNet=true;
        soapEnvelope.setOutputSoapObject(request);
        AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport(URL);
        try
        {
            androidHttpTransport.call(SOAP_ACTION, soapEnvelope);
            SoapPrimitive  resultString = (SoapPrimitive)soapEnvelope.getResponse();
            value = resultString.toString();
            System.out.println("This getAccountsNames xmls is : "+xml);
        }   catch (Exception e) {
            e.printStackTrace ();
        }
        return value;
   }

我也通过设置SoapEnvelope.VER11,VER12,VER10来检查。但每次问题都是一样的。

请建议。感谢。

2 个答案:

答案 0 :(得分:0)

当您在其他系统上时,可能没有获得XML响应。你可以通过这种方式看到你得到的东西:

androidHttpTransport.debug = true;
// ...
// execute the request
// ...
androidHttpTransport.responseDump; // <-- a string containing server response

另外:不是这可能是问题,但不推荐使用AndroidHttpTransport,您应该使用HttpTransportSE

答案 1 :(得分:0)

  

AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport(URL);

我遇到了类似的问题,这是因为我意外地插入了我的NAMESPACE地址而不是URL,这是不同的。当我把它切换回来时,它起作用了。

作为补充建议,如果您没有看到参数正确传递,请尝试排除以下行:

  

soapEnvelope.dotNet = TRUE;

对我来说,我有一个布尔值,它一直被传递为false,直到我注释掉该行。