.NETWeb服务中的Android-Ksoap2身份验证
我有一个android应用程序,它使用.Net web服务,我正在使用ksoap2。我想传递凭证、用户名和密码,所以我需要使用一种身份验证形式,基本,…,但我不知道如何传递 我已下载了一个安全的Web服务,此示例要求从以下位置获取凭据: 我用基本代码调用webMethod,这就是为什么会出现错误,在某个地方我需要传递用户名和密码,但我不知道如何传递。还有一些相关的链接,它们使用NTCredentials、envelope.headerOut和HeaderProperty类,而我没有这些链接,我只尝试全部,不尝试任何内容.NETWeb服务中的Android-Ksoap2身份验证,android,android-ksoap2,Android,Android Ksoap2,我有一个android应用程序,它使用.Net web服务,我正在使用ksoap2。我想传递凭证、用户名和密码,所以我需要使用一种身份验证形式,基本,…,但我不知道如何传递 我已下载了一个安全的Web服务,此示例要求从以下位置获取凭据: 我用基本代码调用webMethod,这就是为什么会出现错误,在某个地方我需要传递用户名和密码,但我不知道如何传递。还有一些相关的链接,它们使用NTCredentials、envelope.headerOut和HeaderProperty类,而我没有这些链接,我
public String getStringWebService()
{
String namespaceServicio;
String nombreMetodo;
namespaceServicio = "http://tempuri.org/";
nombreMetodo = "HelloWorld";
accionSoap = namespaceServicio + nombreMetodo;
urlServicio = "http://???.???.???/Prueba/Autenticacion/AuthTestSvc/Service1.asmx";
SoapObject request = new SoapObject(namespaceServicio, nombreMetodo);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.bodyOut = request;
envelope.dotNet = true;
envelope.encodingStyle = SoapEnvelope.XSD;
HttpTransportSE ht = new HttpTransportSE(urlServicio);
ht.debug = true;
String cad = "";
try
{
String xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
" <soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" +
" <soap:Header>" +
" <AUTHHEADER xmlns=\"http://tempuri.org/\" />" +
" <username>test</username> " +
" <password>test</password> " +
" </AUTHHEADER> " +
" </soap:Header> " +
" <soap:Body> " +
" <SENSITIVEDATA xmlns=\"http://tempuri.org/\"> " +
" </soap:Body> " +
" </soap:Envelope> ";
ht.setXmlVersionTag(xml);
ht.call(accionSoap, envelope);
cad = ht.responseDump;
return cad;
}
catch(Exception e)
{
throw new Exception(e.toString());
}
}
向您展示如何同时使用Ksoap和.net Web服务。作者一步一步地编写代码,如soap对象、信封、然后传输等
祝您好运。请向我们展示代码和logcat。谢谢您的快速回答。但是,我想知道如何使用ksoap2将凭据传递到一个.net web服务,该服务具有身份验证方法表单我使用的是aspx文件通过添加代码片段和logcat中的异常或其他内容,使您的问题更加清楚,那么这里的人将能够帮助您。所提供的信息不足,伙计。我希望你能更好地理解我的问题。我从上个星期就开始这样做了,任何帮助都是有用的
public String getStringWebService()
{
String namespaceServicio;
String nombreMetodo;
namespaceServicio = "http://tempuri.org/";
nombreMetodo = "HelloWorld";
accionSoap = namespaceServicio + nombreMetodo;
urlServicio = "http://???.???.???/Prueba/Autenticacion/AuthTestSvc/Service1.asmx";
SoapObject request = new SoapObject(namespaceServicio, nombreMetodo);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.bodyOut = request;
envelope.dotNet = true;
envelope.encodingStyle = SoapEnvelope.XSD;
HttpTransportSE ht = new HttpTransportSE(urlServicio);
ht.debug = true;
String cad = "";
try
{
String xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
" <soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" +
" <soap:Header>" +
" <AUTHHEADER xmlns=\"http://tempuri.org/\" />" +
" <username>test</username> " +
" <password>test</password> " +
" </AUTHHEADER> " +
" </soap:Header> " +
" <soap:Body> " +
" <SENSITIVEDATA xmlns=\"http://tempuri.org/\"> " +
" </soap:Body> " +
" </soap:Envelope> ";
ht.setXmlVersionTag(xml);
ht.call(accionSoap, envelope);
cad = ht.responseDump;
return cad;
}
catch(Exception e)
{
throw new Exception(e.toString());
}
}
org.xmlpull.v1.XmlPullParserException: expected: START_TAG {http://schemas.xmlsoap.org/envelope/}Envelope (position:START_TAG <html>@1:6 in java.io.InputStreamReader@44f13428)
401 - Unauthorized: Access is denied due to invalid credentials.
You do not have permission to view this directory or page using the credentials that you supplied