可以在模拟器上运行android SOAP,但不能在设备上运行

时间:2014-07-31 15:48:35

标签: android soap ksoap2 android-ksoap2

我已经让我的项目能够在模拟器上运行,但它不会在我的设备上运行,是否有人知道这可能是什么原因?我有下面的代码,当我尝试在我的设备上运行它并逐步执行它时,我得到了着名的org.xmlpull.v1.XmlPullParserException: expected: START_TAG错误

private static final String NAMESPACE   =   "http://tempuri.org/";
private static final String URL         =   "http://work/today/Service1.asmx";
private static final String SOAP_ACTION =  "http://tempuri.org/HelloWorld";
private static final String METHOD_NAME =  "HelloWorld";

public void getMessage() {

    SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);


    MarshalBase64 mbase = new MarshalBase64();// marshal is used to serialize the byte array


    //Create envelope
    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
            SoapEnvelope.VER11);


    //Set output SOAP object
    envelope.bodyOut=request;
    envelope.env = "http://schemas.xmlsoap.org/soap/envelope/"; 
    envelope.encodingStyle = SoapSerializationEnvelope.ENC2003;
    envelope.dotNet = true;
    envelope.setOutputSoapObject(request);


    //Create HTTP call object
    HttpTransportSE at = new HttpTransportSE(URL);
    //AndroidHttpTransport aht = new AndroidHttpTransport(URL);

    mbase.register(envelope);

    try {
        //Invoke web service
        //at.getConnection();
        at.debug=true;
        at.setXmlVersionTag("<!--?xml version=\"1.0\" encoding= \"UTF-8\" ?-->");
        at.call(SOAP_ACTION, envelope);

        //Get the response
        SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
        //Assign it to fahren static variable
        message = response.toString();

    } catch (Exception e) {
        e.printStackTrace();
    }
}

}

此行的代码错误:at.call(SOAP_ACTION, envelope);

response.dump是这样的:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<title>401 - Unauthorized: Access is denied due to invalid credentials.</title>
<style type="text/css">
<!--
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
fieldset{padding:0 15px 10px 15px;} 
h1{font-size:2.4em;margin:0;color:#FFF;}
h2{font-size:1.7em;margin:0;color:#CC0000;} 
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;} 
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-   serif;color:#FFF;
background-color:#555555;}
#content{margin:0 0 0 2%;position:relative;}
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
-->
</style>
</head>
<body>
<div id="header"><h1>Server Error</h1></div>
<div id="content">
 <div class="content-container"><fieldset>
  <h2>401 - Unauthorized: Access is denied due to invalid credentials.</h2>
  <h3>You do not have permission to view this directory or page using the credentials that you    supplied.</h3>
</fieldset></div>
</div>
</body>
</html>

我不明白它是如何在模拟器上运行的,而不是它不会对我做出的设备......我已经在互联网上进行了大量研究,但是在SO上仍然没有任何关于ksoap2SOAP web services来解决我的问题....如果有人可以提供一些建议,将非常感谢,谢谢!

0 个答案:

没有答案