尝试让ksoap2
在我的应用中运行...我已经在.net(VS 2010)中创建了一个Web服务并将其与IIS
相关联,但是当我去创建{ {1}}它错误地说有一个
androidhttpTransport.call()
我做了无数的研究,但我仍然无法找到发生的事情......这是我的代码:
07-30 07:20:40.620: W/System.err(6516): org.xmlpull.v1.XmlPullParserException: expected: START_TAG {http://www.w3.org/2003/05/soap-envelope}Envelope (position:START_TAG <html>@2:44 in java.io.InputStreamReader@21fc0778)
这是我的private static final String NAMESPACE = "http://tempuri.org/";
private static final String URL = "http://blah/this/Service1.asmx";
private static final String METHOD_NAME = "HelloWorld";
private static final String SOAP_ACTION = "http://tempuri.org/HelloWorld";
public void getMessage() {
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
//Property which holds input parameter
List<HeaderProperty> headers = new ArrayList<HeaderProperty>();
headers.add(new HeaderProperty("Authorization", "Basic "+Base64.encode("user:pass".getBytes(), 0)));
//Create envelope
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER12);
Log.i(TAG, "Envelope to String: \n" + String.valueOf(envelope));
Log.i(TAG, "request to String: \n" + String.valueOf(request));
envelope.dotNet = true;
//Set output SOAP object
envelope.setOutputSoapObject(request);
//Create HTTP call object
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
try {
//Invoke web service
androidHttpTransport.debug=true;
androidHttpTransport.setXmlVersionTag("<!--?xml version=\"1.0\" encoding= \"UTF-8\" ?-->");
blah = androidHttpTransport.requestDump;
androidHttpTransport.call(SOAP_ACTION, envelope, headers);
//androidHttpTransport.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();
/*Log.i("HT", blah);
Log.i("Exception", e.getMessage().toString());*/
}
}
response.Dump
这是我的错误logcat:
<!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>
如果有人可以请求帮助我会非常感激...我正在绝望......