2013-07-24 6 views
0
Hi i was trying to use solrj to query in https protocol but i am getting ssl exection error. 

here are the code same i tried 

import org.apache.solr.client.solrj.SolrServerException; 
import org.apache.solr.client.solrj.impl.HttpSolrServer; 
import org.apache.solr.client.solrj.SolrQuery; 
import org.apache.solr.client.solrj.response.QueryResponse; 
import org.apache.solr.common.SolrDocumentList; 

import java.net.MalformedURLException; 

public class SolrJSearcher { 
    public static void main(String[] args) throws MalformedURLException, SolrServerException { 
    HttpSolrServer solr = new HttpSolrServer("`https://abc:8080/solr`"); 

    SolrQuery query = new SolrQuery(); 
    query.setQuery("sony digital camera"); 
    query.addFilterQuery("cat:electronics","store:amazon.com"); 
    query.setFields("id","price","merchant","cat","store"); 
    query.setStart(0);  
    query.set("defType", "edismax"); 

    QueryResponse response = solr.query(query); 
    SolrDocumentList results = response.getResults(); 
    for (int i = 0; i < results.size(); ++i) { 
     System.out.println(results.get(i)); 
    } 
    } 
} 


and i got following expection 


Exception in thread "main" javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: 

sun.security.provider.certpath.SunCertPathBuilderException : 할 수 없음 com.sun.net.ssl.internal.ssl.Alerts에서 요청 대상 에 유효한 인증 경로를 찾을 수 있습니다. getSSLException (Alerts.java:174) com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal (SSLSocketImpl.java:1762) 에서 com.sun.net.ssl.internal.ssl.Handshaker.fatalSE (Handshaker.java : 241) com.sun.net.ssl.internal.ssl.Handshaker.fatalSE (Handshaker.java:235) 에서 com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate (ClientHandshaker. java : 1206) at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage (ClientHandshaker.java:136) com.sun.net.ssl.internal.ssl.Handshaker.processLoop (Handshaker.java:593) at com.sun.net.ssl.internal.ssl.Handshaker.process_record (Handshaker.java:529) com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord (SSLSocketImpl.java:958)에서 닷컴에서 . sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake (SSLSocketImpl.java:1203) com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake (SSLSocketImpl.java:1230)에서 이 com.sun에서 . net.ssl.internal.ssl.SSLSocketImpl.startHandshake (SSLSocketImpl.java:1214) at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket (SSLSocketFactory.java:571) at org.apache.http.conn. ssl.SSLSocketF org.apache.http.conn.ssl.SSLSocketFactory.connectSocket (SSLSocketFactory.java:494)에서 org.apache.http.conn.scheme.SchemeSocketFactoryAdaptor.connectSocket (SchemeSocketFactoryAdaptor.)에서 actory.connectSocket (SSLSocketFactory.java:402) 자바 : org.apache.http.impl.conn.AbstractPoolEntry.open (AbstractPoolEntry.java:144) 에서 org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection (DefaultClientConnectionOperator.java:179) 65)에 org.apache.http.impl.conn.AbstractPooledConnAdapter.open (AbstractPooledConnAdapter.java:131) at org.apache.http.impl.client.DefaultRequestDirector.tryConnect (DefaultRequestDirector.java:609) at org.apache.http. impl.client.DefaultRequestDirector.execute (DefaultRequestDirector.java:444) org.apache.http.impl.client.AbstractHttpClient.doExecute (AbstractHttpClient.java:864) at org.apache.http.impl.client.CloseableHttpClient.execute (CloseableHttpClient.java:82) at org.apache.http .impl.client.CloseableHttpClient.execute (CloseableHttpClient.java:106) org.apache.http.impl.client.CloseableHttpClient.execute (CloseableHttpClient.java:57) at solrcheck.SolrJSearcher.main (SolrJSearcher.java:87)) 발생 원인 : sun.security.validator.ValidatorException : PKIX 경로 구축 실패 : sun.security.provider.certpath.SunCertPathBuilderException : 요청 대상에 대한 유효한 인증 경로를 찾지 못함 at sun.security.validator.PKIXValidator.doBuild (PKIXValidator.java:323) at sun.security. validator.PKIXValidator.engineValidate (PKIXValidator.java:217)at sun.security.validator.Validator.validate (Validator.java:218) com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate (X509TrustManagerImpl. java : 126) at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted (X509TrustManagerImpl.java:209) at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted (X509TrustManagerImpl.java : 249) com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate (ClientHandshaker.java:1185) ... 21 더 많은 에 의해 발생 : sun.security.provider.certpath.SunCertPathBuilderException : 수 없습니다 찾기 sun.security.provider에서 요청한 대상 에 대한 유효한 인증 경로.certpath.SunCertPathBuilder.engineBuild (SunCertPathBuilder.java:174) java.security.cert.CertPathBuilder.build (CertPathBuilder.java:238)에서 sun.security.validator.PKIXValidator.doBuild (PKIXValidator.java:318) 에서 . ... 27 개Solrj 쿼리 HTTPS 프로토콜 오류에

any working example will be great help. thanks . 

답변