L'Authentification de base avec RestTemplate - erreur de compilation - Le constructeur HttpClient() n'est pas visible
d'essayer d'ajouter l'authentification basique à restTemplate
problème que je rencontre est que je ne peux pas initialiser : (avec les importations dans l'extrait de code)
HttpClient client = new HttpClient();
Ce code résout une erreur de compilation (avec aucune suggestion disponible à partir d'eclipse pour résoudre ce problème)
1) quel est le problème ?
2) Suis-je importer la mauvaise catégorie ?
mon extrait de code :
import org.apache.http.client.HttpClient;
//OR (not together)
import sun.net.www.http.HttpClient;
HttpClient client = new HttpClient(); //this line dosent compile
UsernamePasswordCredentials credentials =
new UsernamePasswordCredentials("USERNAME","PASS");
client.getState().setCredentials(
new AuthScope("www.example.com", 9090, AuthScope.ANY_REALM),
credentials);
CommonsClientHttpRequestFactory commons =
new CommonsClientHttpRequestFactory(client);
RestTemplate template = new RestTemplate(commons);
SomeObject result = template.getForObject(
"http://www.example.com:9090/",SomeObject.class
);
L'exécution de cet accès à l'Exception :
> failed due to an unhandled exception: java.lang.Error: Unresolved
> compilation problems: The constructor HttpClient() is not visible
> The method getState() is undefined for the type HttpClient
> CommonsClientHttpRequestFactory cannot be resolved to a type
> CommonsClientHttpRequestFactory cannot be resolved to a type
> SomeObject cannot be resolved to a type The method
> getForObject(String, Class<SomeObject>, Object...) from the type
> RestTemplate refers to the missing type SomeObject SomeObject cannot
> be resolved to a type
OriginalL'auteur Nimrod007 | 2013-03-17
Vous devez vous connecter pour publier un commentaire.
dans la fin est beaucoup plus facile à exécuter l'Authentification de Base à l'aide de :
et pas
mon extrait de code :
et ça marche!!!
OriginalL'auteur Nimrod007
Si vous utilisez Apache HttpClient, instancier
DefaultHttpClient
, parce queHttpClient
est juste une interface:Voir la documentation sur l'utilisation de différents schémas d'authentification avec
HttpClient
ici.C'est parce qu'il n'a pas cette méthode. Essayez de cet exemple pour l'authentification du client.
Ou peut-être cet exemple c'est même mieux, car il envoie les informations à l'avance pour le serveur.
OriginalL'auteur zagyi
Nous pouvons l'utiliser au Printemps de démarrage dans le ci-dessous :
public class Application implémente CommandLineRunner{
}
OriginalL'auteur Subhasish