Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Services Web Java Discussion :

Erreur 401: requête


Sujet :

Services Web Java

  1. #1
    Membre du Club
    Erreur 401: requête
    Bonjour,

    j’ai un problème lors du lancement d’une requête en java et je bloque depuis un moment, pourriez vous m’aider*?

    La requête que j'aimerais envoyer ressemble à quelque chose du type :
    monUrl/getData?&type={s:alpha}&columns={id_cl,hour,date,page}&period={D:start:’2020-01-01’,end:’2020-02-01}}
    Si j’effectue cette requête sur Postman, j’obtiens le bon résultat.
    Mais quand je l’écris avec mon code java, j’obtiens l’erreur suivante*:
    GRAVE: Erreur de requête : monUrl/getData?&type=%7Bs:alpha%7D&columns=%7Bid_cl,hour,date,page%7D&period=%7BD:%7Bstart:%272020-01-01%27,end:%272020-02-01%27%7D%7D(code:401)
    De ce que j'ai compris l'erreur 401 correspond à une erreur d'authentification. Pourtant, j'ai pu vérifier mon identifiant à l'aide de postman. La partie de mon code où se situe le problème est*:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    [...]
    String res = null;
    String enc_1 = URLEncoder.encode("{");
    String enc_2 = URLEncoder.encode("}");
    String enc_3 = URLEncoder.encode("'");
    String type = enc_1 + "s:alpha" +enc_2 ; 
    String columns = enc_1 +"id_cl,hour,date,page"+enc_2 ;
    String period = enc_1 +"D:"+enc_1 +"start:"+enc_3+"2020-01-01"+enc_3+",end:"+enc_3+"2020-02-01"+enc_3 + enc_2 + enc_2 ;
     
    String request = "monUrl/getData?"
    		+ "&type=" + type
    		+ "&columns=" + columns
    		+ "&period=" +period;
    try {
    	Client client = Client.create();
    	WebResource r = client.resource(request);
    	r.header("x-api-key", "xxxx_xxxxxxxx");
    	r.accept("application/json");
    	ClientResponse response = r.get(ClientResponse.class);
    	if (response.getStatus() != 200) {
    		LOG.severe("Erreur de requête:" + request + "(code:"+ response.getStatus() + ")");
    		return null;
    	}
    	res = response.getEntity(String.class);
    } catch (Exception e) {
    	LOG.severe("Erreur de webservice:" + request + e.getMessage());
    	return null;
    }[...]


    En espérant que ce soit clair, merci!

  2. #2
    Membre du Club
    Bonjour,
    n'hesitez pas à me dire si ma question n'est pas clair.

###raw>template_hook.ano_emploi###