0

Мы используем GSA для внутреннего поиска наших компаний и настроен как безопасный URL-адрес, т. Е. Https_colon_fwdSlash2_Myhostname.net:8443. Я пытаюсь использовать API администрирования Google Search Appliance для подключения к GSA. Я использую Java-версию API и написание программ на другом сервере в сети моих компаний.API администрирования Google Search Appliance

Это код, который я пытаюсь запустить

import java.io.IOException; 
import java.net.MalformedURLException; 

import com.google.enterprise.apis.client.GsaClient; 
import com.google.enterprise.apis.client.GsaEntry; 
import com.google.gdata.util.ServiceException; 

public class GsaFirst { 
public static void main(String args[]) throws MalformedURLException, ServiceException, IOException{ 

     System.out.println("The program started..."); 
     GsaClient myClient = new GsaClient("Myhostname.net", 8443, "username", "pwd1234"); 
     System.out.println("this is the error"); 
     //String addr = myClient.getAddress(); 
     //System.out.println(addr); 

     GsaEntry myEntry = myClient.getEntry("config", "crawlURLs"); 
     System.out.println("Start URLs: " + myEntry.getGsaContent("startURLs")); 
     System.out.println("Follow URLs: " + myEntry.getGsaContent("followURLs")); 
     System.out.println("Do Not Crawl URLs: " + myEntry.getGsaContent("doNotCrawlURLs")); 

    } 

}

Выход я получаю Программа началась ... Исключение в нити «главного» com.google.gdata. util.AuthenticationException: Ошибка аутентификации (проверьте имя службы) по адресу com.google.gdata.client.GoogleAuthTokenFactory.getAuthException (Неизвестный источник) at com.google.gdata.client.GoogleAuthTokenFactory.getAuthToken (Неизвестный источник) at com.google .gdata .client.GoogleAuthTokenFactory.setUserCredentials (Unknown Source) на com.google.gdata.client.GoogleService.setUserCredentials (Unknown Source) в com.google.gdata.client.GoogleService.setUserCredentials (Unknown Source) в com.google. gdata.client.GoogleService.setUserCredentials (Неизвестный источник) at com.google.enterprise.apis.client.GsaClient. (Неизвестный источник) at com.google.enterprise.apis.client.GsaClient. (Неизвестный источник) at com .gsa.GsaFirst.main (GsaFirst.java:14)

Если кто-то может помочь мне или вести меня, какие шаги я должен предпринять, чтобы решить эту проблему. Цените любую помощь по этому поводу.

ответ

0

Я смог решить проблему, добавив этот небольшой фрагмент кода, который сделал трюк.

import java.io.IOException; 
    import java.net.MalformedURLException; 

    import com.google.enterprise.apis.client.GsaClient; 
    import com.google.enterprise.apis.client.GsaEntry; 
    import com.google.gdata.util.ServiceException; 

    public class GsaFirst { 
    static { 
    //for localhost testing only 
    javax.net.ssl.HttpsURLConnection.setDefaultHostnameVerifier(
    new javax.net.ssl.HostnameVerifier(){ 

     public boolean verify(String hostname, 
       javax.net.ssl.SSLSession sslSession) { 
      if (hostname.equals("Myhostname.net")) { 
       return true; 
      } 
      return false; 
     } 
    }); 
} 
    public static void main(String args[]) throws MalformedURLException, ServiceException, IOException{ 

    System.out.println("The program started..."); 
    GsaClient myClient = new GsaClient("Myhostname.net", 8443, "username", "pwd1234"); 
    System.out.println("this is the error"); 
    //String addr = myClient.getAddress(); 
    //System.out.println(addr); 

    GsaEntry myEntry = myClient.getEntry("config", "crawlURLs"); 
    System.out.println("Start URLs: " + myEntry.getGsaContent("startURLs")); 
    System.out.println("Follow URLs: " + myEntry.getGsaContent("followURLs")); 
    System.out.println("Do Not Crawl URLs: " + myEntry.getGsaContent("doNotCrawlURLs")); 

}