2011-12-06 24 views
5

Temel kimlik doğrulaması kullanarak basit bir RESTful web hizmeti yazarım. Bu sayfadan ipuçları kullanıyorum secureRestWS. Ayrıca bir video oluşturdular ve daha fazla ayrıntıyla youtube'da yayınladılar. Tarayıcıda açtığınızda sadece iyi çalışır. Yetkilendirme penceresinde Kullanıcı Adı ve Şifre yazmanız gerekmektedir.Android istemcisi

Ayrıca httpclient kullanarak dinlenme web hizmeti çağıran ve web hizmeti kimlik doğrulaması olmadan çalışıyorsa, android istemcisi ile bir sayfa buluyorum. Bu örnekte androidRestWSClient kullanıyorum.

client.AddParam("User Name", "myusername"); 
client.AddParam("Password", "mypassword"); 

veya başlığında:

client.AddHeader("User Name", "myusername"); 
client.AddHeader("Password", "mypassword"); 

ama hiçbir şey inşaat Ama bu senaryoda Kullanıcı Adı ve Şifre nasıl ekleneceğini bilmiyorum, ben gibi çalıştı. Biri bir örnek istemci varsa bu yüzden takdir ediyorum

http://192.168.1.42/RestWS/resources/helloWorld?username=myusername&password=mypassword 

Gerçekten bu için bir çözümümüz var don `t: Ben de gibi web hizmeti kullanıcı adı ve şifreyi anlatmak url oluşturmayı deneyin. webservice olarak

Ben

@GET 
@Path("/text") 
public String getText() { 
    return "Hello World!"; 
} 

Ben kullanıcı adı ve şifre SecurityContext kullanmama gerek var mı basit GET yöntemini var? daha iyi manuel bu örnekte olduğu gibi, kimlik oluşturmaktır: Yardımlarınız

cevap

12

için

http://aruld.info/accessing-restful-services-configured-with-ssl-using-resttemplate/ 

Teşekkür sadece temel http kimlik doğrulaması kullanıyorsanız, o zaman URL şöyle olmalıdır:

http://username:[email protected]/RestWS/resources/helloWorld 

Eh, işte gidiyorsunuz - ve bunu çalıştırmayı unutmayınız ve şöyle cevap verelim :):

HttpGet httpget; 
try{ 
    httpget = new HttpGet(url); 

    String auth =new String(Base64.encode((username + ":" + password).getBytes(),Base64.URL_SAFE|Base64.NO_WRAP)); 
    httpget.addHeader("Authorization", "Basic " + auth); 
    } 
+0

url bu benim için çalışıyor, bu yüzden teşekkürler, belki birisi ilk soruyu cevaplamak için nasıl istemcide kullanıcı adı ve parola eklemek veya sadece istemcide bağlantı kullanırım ... Teşekkürler – janilemy

+0

Bu benim için gayet iyi çalışıyor, üzerinde buldum diğer sayfa, ama 8 saat içinde kendi sorumu cevaplayamıyorum ... Ama şimdi her şey iyi, yardım için teşekkürler Kaediil ... – janilemy