2016-03-28 13 views
0

Hizmet-şimdiki örneğime Apache Client 4.5 kullanarak bir proxy sunucusu üzerinden bağlanmaya çalışıyorum. Maalesef aşağıdaki istisna dışında bağlantı başarısız oluyor.Apache Http İstemcisi 4.5 Hizmete Entegrasyonunda Kimlik Doğrulama İstisnası

HTTP/1.1 401 Yetkisiz { "hata": { "mesaj": "Kullanıcı Kimliği doğrulanmış değil", "ayrıntı": "Auth bilgi sağlamak için gerekli"}, "durum": "başarısızlık"}

Bunun kimlik doğrulama istisnası nedeniyle olduğunu anlayabiliyorum, ancak aşağıda gösterildiği gibi kimlik bilgilerini sağladım.

Kod Parçacığı:

public void getRequestWithProxy() throws ClientProtocolException, IOException 
{ 
CredentialsProvider credsProvider = new BasicCredentialsProvider(); 
    credsProvider.setCredentials(
      new AuthScope("proxy.xxxx.com", 0000), 
      new UsernamePasswordCredentials("proxyuser", "proxypassword")); 
    credsProvider.setCredentials(
      new AuthScope("instance.service-now.com", 443), 
      new UsernamePasswordCredentials("username", "password")); 
    CloseableHttpClient httpclient = HttpClients.custom() 
      .setDefaultCredentialsProvider(credsProvider).build(); 
    try { 
     HttpHost target = new HttpHost("instance.service-now.com", 443, "https"); 
     HttpHost proxy = new HttpHost("proxy.xxxx.com", 0000); 

     RequestConfig config = RequestConfig.custom() 
      .setProxy(proxy) 
      .build(); 
     HttpGet httpget = new HttpGet("/api/now/table/incident"); 
     httpget.setConfig(config); 

     System.out.println("Executing request " + httpget.getRequestLine() + " to " + target + " via " + proxy); 

     CloseableHttpResponse response = httpclient.execute(target, httpget); 
     try { 
      System.out.println("----------------------------------------"); 
      System.out.println(response.getStatusLine()); 
      System.out.println(EntityUtils.toString(response.getEntity())); 
     } finally { 
      response.close(); 
     } 
    } finally { 
     httpclient.close(); 
    } 
} 

i URL am bunlara erişim erişimi olduğunu ben varsayalım çünkü aynı URL "https://instance.service-now.com/api/now/table/incident" ince TOA (Tek Sing Açma) kullanarak çalışıyor tarayıcıda çalıştı.

Lütfen eksik olanlarla bana yardım edin.

Bu konudaki yardımlarınız için şimdiden teşekkür ederiz.

Teşekkür ederiz.

cevap

0

Bir URL olduğunu belirttiniz. Yeni AuthScope bir URL olmalı ve bir ana bilgisayar adı olmalıdır.