2012-03-18 14 views
14

Sfondo

Sono stato con l'Authorize.net SDK in un progetto Eclipse di essa la propria. Tutto stava funzionando alla grande. Ho quindi dovuto aggiungerlo al mio progetto principale. Ho aggiunto le dipendenze al percorso della classe e le ho copiate nel blocco di codice di cui avevo bisogno. Dovrebbe aver funzionato.

Problema

Per farla breve, il codice non avrebbe funzionato in cui ho messo. Tuttavia, funzionerà quando lo porterò direttamente al metodo principale del progetto.

Nel luogo che non funziona Ho fatto un passo attraverso il codice con il debugger e trovarono la seguente eccezione:

java.net.SocketException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: sun.security.ssl.SSLContextImpl$DefaultSSLContext) 

gettati a:

HttpResponse httpResponse = httpClient.execute(httpPost); 

Nota: HttpClient = DefaultHttpClient da Apache

Ora sono completamente perplesso. Non ciò che sta causando questo errore. In Eclipse entrambi i prodotti sembrano avere come target lo stesso JRE. Entrambi hanno anche httpclient-4.0.1.jar. Si noti che il progetto problematico ha anche altre dipendenze che il progetto di lavoro non ha {boneCP, guava, mysql_connector_java, protobuf}

Non penso che i giare in più siano la causa in quanto il codice problema funziona in una posizione diversa nel progetto.

Tutte le idee su ciò che è sbagliato sono molto apprezzate, ho passato la giornata a eseguire il debug di questo e non so dove andare dopo.

Grazie.

risposta

16

Ebbene dopo aver fatto un po 'di ricerca ho scoperto l'errore può essere correlato ad altre questioni di chiavi come non validi, password ecc

Ho poi ricordato che avevo impostato due argomenti VM per quando stavo testando SSL per la mia rete connettività.

ho rimosso i seguenti argomenti VM per risolvere il problema:

-Djavax.net.ssl.keyStore=mySrvKeystore -Djavax.net.ssl.keyStorePassword=123456 

Nota: questo keystore non esiste più in modo che è probabilmente il motivo per cui l'eccezione.

+0

Stesso problema Ma la mia è un'applicazione autonoma. Come risolvere? – MaheshVarma

6

Ho riscontrato un problema simile a questo errore. Nel mio caso, stavo inserendo la password errata per il Keystore.

Ho cambiato la password per il keystore in modo che corrisponda a quello che stavo inserendo (non volevo cambiare la password che stavo inserendo), ma ha comunque dato lo stesso errore.

keytool -storepasswd -keystore keystore.jks 

Il problema era che avevo anche bisogno di cambiare la password della chiave all'interno del Keystore.

Quando ho creato inizialmente il Keystore, la chiave è stata creata con la stessa password del keystore (ho accettato questa opzione predefinita).Quindi ho dovuto cambiare anche la password della chiave come segue:

keytool -keypasswd -alias my.alias -keystore keystore.jks 
Problemi correlati