Cita:
Iniciado por chcma Hola SolisUNMSM,
Perdona que te moleste, por que no tenguna solución a tu problema, pero... viendo que dominas algo el tema de WCF con Android, me gustaría preguntarte si usas ese webservice con https, y si es así, como lo haces, por que yo lo intenté con HttpsTransportSE, pero me daba error.
¿Sabes algo del tema?, y... aprovechando, jeje... ¿Sabes algo de como meter autentificación por parte de Android?, Sé crear un WCF seguro, que pida usuario y clave, pero... no sabría como ponerlo en la llamada desde Android.
Si me pudieras orientar en alguno de los dos campos, te lo agradecería mucho, la verdad. Y, nuevamente te pido disculpas por haberte hecho entrar aqui, sin tener una respuesta a tu problema, de la cual, la verdad, no tengo ni idea.
Gracias.
(todo es segun investigue y me funciono) Si el servidor tiene un certificado reconocido por alguna entidad de certificacion como Verisign u otro , este deberia estar en el repositorio de certificados de tu dispositivo android , igual para los emuladores , hay una negociacion previa , entre la entidad-tu servidor- tu cliente(amdroid) , todo para usar una conexion segura , para lo cual solo debe indicar en el httpCLient que vas usar de ese tipo . como?
para usar https
HttpClient httpclient = new HttpClient();
GetMethod httpget = new GetMethod("https://www.verisign.com/");
try {
httpclient.executeMethod(httpget);
System.out.println(httpget.getStatusLine());
} finally {
httpget.releaseConnection();
}
MAS INFO :
http://hc.apache.org/httpclient-3.x/sslguide.html
y para la auntetificacion
Código Javascript
:
Ver originalpublic class ClientAuthentication {
public static void main(String[] args) throws Exception {
DefaultHttpClient httpclient = new DefaultHttpClient();
try {
httpclient.getCredentialsProvider().setCredentials(
new AuthScope("localhost", 443),
new UsernamePasswordCredentials("username", "password"));
HttpGet httpget = new HttpGet("https://localhost/protected");
System.out.println("executing request" + httpget.getRequestLine());
HttpResponse response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
System.out.println("----------------------------------------");
System.out.println(response.getStatusLine());
if (entity != null) {
System.out.println("Response content length: " + entity.getContentLength());
}
EntityUtils.consume(entity);
} finally {
// When HttpClient instance is no longer needed,
// shut down the connection manager to ensure
// immediate deallocation of all system resources
httpclient.getConnectionManager().shutdown();
}
}
}
MAS INFO :
http://hc.apache.org/httpclient-3.x/...Authentication
...ahora si no.je son mas pasos pero me ayudo a comprender mas paso a paso lo que hace android .
te dara error de NO TRUSTED , para lo cual tienes tienes que darle el certifcado a; android tomandolo de tu server asi lA negociacion ya solo seria de los dos
son muchos pasos , te dejo el link donde esta explicados , son los que segui
http://blog.antoine.li/2010/10/22/an...-certificates/
..ALGO MAS , android para una nueva version esta haciendo un apquete especialmente para su SO , sobre en el httpClient , yo lo ise con el actual , ps no me habia enterado , la idea es la misma , aqui lo mencionan
http://android-developers.blogspot.c...p-clients.html
suerte .