2015-10-08 1 views
0

Je suis en train d'appeler un service de repos via notre proxy d'entreprise, mais continuer à obtenir la réponse:Comment authentifier un appel de repos derrière un proxy d'entreprise en utilisant Rest-Assured?

407 Proxy Authentication Required. Forefront TMG requires authorization to fulfill the request. Access to the Web Proxy filter is denied. 

Quelqu'un peut-il suggérer autre chose que je peux essayer, ou une alternative à RestAssured qui prend en charge NTLM?

Ceci est mon code actuel:

PreemptiveBasicAuthScheme auth = new PreemptiveBasicAuthScheme(); 
    auth.setUserName("my username"); 
    auth.setPassword("my password"); 

    // was getting desperate so tried adding this 
    System.setProperty("http.proxyHost", "XXXX"); 
    System.setProperty("http.proxyPort", "8080"); 
    System.setProperty("http.proxyUser", "my username"); 
    System.setProperty("http.proxyPassword", "my password"); 
    System.setProperty("https.proxyHost", "XXXX"); 
    System.setProperty("https.proxyPort", "8080"); 
    System.setProperty("https.proxyUser", "my username"); 
    System.setProperty("https.proxyPassword", "my password"); 

    Response r = RestAssured 
      .given() 
      // tried with and without this 
      .header("Proxy-Authorization", auth.generateAuthToken()) 
      .proxy("XXXX", 8080) 
      .get(fullPath, key, key); 
+0

Si vous trouvez une solution de contournement alors s'il vous plaît créer un problème à la question reste tracker assuré (https://github.com/jayway/rest-assured/issues) et je vais essayer de l'intégrer plus agréable. – Johan

Répondre

0

Il y avait quelques problèmes ici - le premier que j'ai trié, le deuxième, je suis toujours bloqué.

Réglage de l'authentification proxy est une simple question de réglage de l'en-tête correct (comme cela a été noté dans de nombreux autres postes):

.header("Proxy-Authorization", auth.generateAuthToken()) 

Ce qui me bloque est que j'appelle un service en cours d'exécution sur https plutôt que http et le proxy ne semble pas être utilisé ... donc retour à la planche à dessin.

+0

Voulez-vous dire dans votre réponse que vous avez réglé la question NTLM? Avez-vous trouvé un autre cadre travaillé? (Je sais que vous avez répondu à votre propre question il y a plus d'un an) :-) – Piazzolla

+1

Je me suis retrouvé avec HttpUrlConnection car je ne pouvais pas passer à travers le proxy avec le repos assuré - j'ai écrit mon propre emballage autour et j'ai envisagé de le publier comme je l'ai utilisé sur quelques projets maintenant. J'ai récemment découvert quelques autres projets GitHub fournissant un emballage autour de HttpUrlConneciton (je ne sais pas pourquoi je ne les ai pas trouvés avant que j'écrive le mien!) Et ils semblent plutôt bons. –