org.xmlpull.v1.XmlPullParserException:expected:START_TAG {http://schemas.xmlsoap.org/soap/envelope/

时间:2013-11-15 07:42:16

标签: android wcf web-services android-asynctask ksoap2

你好我在webservice这里新建我正在使用SOAP服务并在localhost上运行但是收到此错误这是我的代码:public class Neteesh extends Activity {

private static final String URL = "http://localhost:7642/Service1.asmx";
private static final String NAMESPACE = "http://tempuri.org/";
private static final String METHOD_NAME = "HelloWorld";

private static final String SOAP_ACTION = "http://tempuri.org/HelloWorld";

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

TextView textView = new TextView(this);

setContentView(textView);


new LongOperation().execute("");
}


private class LongOperation extends AsyncTask<String, Void, String> 
{

    @Override
    protected String doInBackground(String... HelloWorldResult) 
    {
        // TODO Auto-generated method stub

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

        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 : "+value);
        }   catch (Exception e) {
            e.printStackTrace ();
        }
        return value;
    }           
}   
}

这是我的logcat:

  11-16 11:11:48.371: W/System.err(1324): org.xmlpull.v1.XmlPullParserException: expected: START_TAG {http://schemas.xmlsoap.org/soap/envelope/}Envelope (position:START_TAG <HTML>@2:7 in java.io.InputStreamReader@4101fc30) 
11-16 11:11:48.371: W/System.err(1324):     at org.kxml2.io.KXmlParser.require(KXmlParser.java:2046)
11-16 11:11:48.371: W/System.err(1324):     at org.ksoap2.SoapEnvelope.parse(SoapEnvelope.java:127)
11-16 11:11:48.381: W/System.err(1324):     at org.ksoap2.transport.Transport.parseResponse(Transport.java:63)
11-16 11:11:48.381: W/System.err(1324):     at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:100)
11-16 11:11:48.381: W/System.err(1324):     at com.example.helloworldwebservice.Neteesh$LongOperation.doInBackground(Neteesh.java:55)
11-16 11:11:48.381: W/System.err(1324):     at com.example.helloworldwebservice.Neteesh$LongOperation.doInBackground(Neteesh.java:1)
11-16 11:11:48.381: W/System.err(1324):     at android.os.AsyncTask$2.call(AsyncTask.java:287)
11-16 11:11:48.381: W/System.err(1324):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
11-16 11:11:48.391: W/System.err(1324):     at java.util.concurrent.FutureTask.run(FutureTask.java:137)
11-16 11:11:48.391: W/System.err(1324):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
11-16 11:11:48.404: W/System.err(1324):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
11-16 11:11:48.404: W/System.err(1324):     at java.lang.Thread.run(Thread.java:856)
11-16 11:11:48.404: W/System.err(1324): [ 11-16 11:11:48.404  1324: 1337 I/expected: START_TAG {http://schemas.xmlsoap.org/soap/envelope/}Envelope (position:START_TAG Exception

如果我的结构错误,请编辑问题,如何解决。我需要在webservice中的字符串响应。请提前帮助谢谢..

1 个答案:

答案 0 :(得分:1)

由于Android模拟器在虚拟机上运行,​​因此您必须使用此

private static final String URL = "http://10.0.2.2:7642/Service1.asmx";

而不是

private static final String URL = "http://localhost:7642/Service1.asmx";

然后

protected String doInBackground(String... HelloWorldResult) 
    {
      .....
      SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
      request.addProperty("billId", HelloWorldResult[0]);
      .....
  }

正如你现在所做的那样......