2012-03-18 11 views
14

पृष्ठभूमि

मैं इसे की खुद की एक ग्रहण परियोजना में Authorize.net SDK का उपयोग किया गया है। सब कुछ अच्छा काम कर रहा था। इसके बाद मुझे इसे अपने मुख्य प्रोजेक्ट में जोड़ने की ज़रूरत थी। मैंने वर्ग पथ पर निर्भरता और कोड की ब्लॉक में कॉपी की जो मुझे चाहिए। यह काम करना चाहिए था।

समस्या

लंबी कहानी संक्षेप में, कोड काम नहीं कर सकेगा, जहां मैं रख दिया। हालांकि, यह काम करेगा जब मैं इसे परियोजना में मुख्य विधि के लिए बाहर लाऊंगा।

जगह यह काम नहीं करेगा में मैं डीबगर के साथ कोड के माध्यम से कदम रखा और निम्नलिखित अपवाद पाया: अपाचे से httpclient = DefaultHttpClient:

HttpResponse httpResponse = httpClient.execute(httpPost); 

नोट:

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

पर फेंके गए

मैं अब पूरी तरह से स्टंप हो गया हूं। इस त्रुटि का कारण क्या नहीं है। ग्रहण में दोनों उत्पाद एक ही जेआरई को लक्षित करने लगते हैं। उनके पास दोनों httpclient-4.0.1.jar हैं। ध्यान दें कि समस्याग्रस्त प्रोजेक्ट में कुछ अन्य निर्भरताएं भी हैं जो काम करने वाली परियोजना {boneCP, guava, mysql_connector_java, protobuf}

मुझे नहीं लगता कि अतिरिक्त जार कारण हैं क्योंकि समस्या कोड एक अलग स्थान पर काम करता है परियोजना।

गलत पर किसी भी विचार की बहुत सराहना की जाती है, मैंने दिन को डिबग करने में बिताया है और यह नहीं पता कि आगे कहां जाना है।

धन्यवाद।

उत्तर

16

खैर करने के बाद कुछ और खोज मैं त्रुटि अन्य मुद्दों से संबंधित हो सकता के रूप में अवैध keystores, पासवर्ड की खोज आदि

मैं तो याद आया कि मैं जब मैं अपने नेटवर्क के लिए SSL का परीक्षण किया गया था के लिए दो वीएम तर्क रखा था कनेक्टिविटी।

मैं निम्नलिखित वीएम तर्क हटाया समस्या को ठीक करने के लिए:

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

नोट: इस कुंजीस्टोर अब मौजूद नहीं है, इसलिए है कि शायद यही कारण है कि अपवाद है।

+0

वही समस्या लेकिन मेरा एक स्टैंडअलोन एप्लिकेशन है। कैसे हल करें? – MaheshVarma

6

मुझे इस त्रुटि के साथ एक ही समस्या है। मेरे मामले में, मैं कीस्टोर के लिए गलत पासवर्ड दर्ज कर रहा था।

मैंने जोस्टोर में प्रवेश किया था उससे मिलान करने के लिए मैंने कुंजीस्टोर के लिए पासवर्ड बदल दिया (मैं जो पासवर्ड दर्ज कर रहा था उसे बदलना नहीं चाहता था), लेकिन यह अभी भी वही त्रुटि देता है।

keytool -storepasswd -keystore keystore.jks 

समस्या यह थी कि मुझे कीस्टोर के भीतर कुंजी का पासवर्ड बदलने की भी आवश्यकता थी।

जब मैंने शुरुआत में कीस्टोर बनाया, तो कुंजी कोस्टस्टोर (मैंने यह डिफ़ॉल्ट विकल्प स्वीकार कर लिया) के समान पासवर्ड के साथ बनाया गया था।इसलिए मुझे कुंजी का पासवर्ड भी निम्नानुसार बदलना पड़ा:

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