2011-04-19 8 views
7

मैं स्वतः नवीकरणीय सदस्यता का परीक्षण कर रहा हूं लेकिन सेब का सैंडबॉक्स सर्वर हमेशा स्थिति = 21004 देता है, जिसका अर्थ है 'आपके द्वारा प्रदान किया गया साझा रहस्य आपके खाते के लिए फ़ाइल पर साझा रहस्य से मेल नहीं खाता है।' मैं एक जावा सर्वर, जो ज्यादातर ऐसा करता है, जिनकी जांच:सेब के सैंडबॉक्स सर्वर परीक्षण ऑटो-नवीकरणीय सदस्यता के जवाब में मुझे 21004 स्टेटस वैल्यू क्यों मिल रहा है?

String receiptData = "theReceiptDataBytesBase64encoded"; 
    String sharedSecret = "theSharedSecretAsPureStringProvidedByItunesconnect"; 


    String jsonData = "{" + 
          "\"receipt-data\" : \"" + receiptData + "\"," + 
          "\"passsword\" : \"" + sharedSecret + "\"" + 
         "}"; 

    URL url = new URL("https://sandbox.itunes.apple.com/verifyReceipt"); 
    HttpURLConnection conn = (HttpsURLConnection) url.openConnection(); 
    conn.setRequestMethod("POST"); 
    conn.setDoOutput(true); 
    OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream()); 
    wr.write(jsonData); 
    wr.flush(); 

    // Get the response 
    BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream())); 
    String line; 
    while((line = rd.readLine()) != null) 
    { 
    System.out.println(line); 
    } 
    wr.close(); 
    rd.close(); 

मैं ऊपर कोड नमूने में चर मान से स्पष्ट करने की कोशिश की है, मैं साझा रहस्य सांकेतिक शब्दों में बदलना नहीं था, एक सादे स्ट्रिंग के रूप में उपयोग। क्या यह समस्या है?

उत्तर

13

उन दिनों तुम इतनी लिए डेवलपर होने की महान लग रहा है कि कर रहे हैं ...

मेरे सवाल को ध्यान से देख रहे हैं इसके बाद के संस्करण आप देखेंगे कि मैं '3' friggin रों पात्रों के साथ JSON कुंजी passsword इस्तेमाल किया! !! ऐप स्टोर सैंडबॉक्स में कई परीक्षण उत्पादों और परीक्षण उपयोगकर्ताओं और नए साझा रहस्यों के साथ 5 घंटे के प्रयास-और-त्रुटि अनुभव का यही कारण था।

आईट्यून्स टीम के लिए 'गलत साझा रहस्य' संदेश देने के लिए विशेष धन्यवाद, 'बिल्ली क्या पासवर्ड कुंजी' संदेश है।

+0

यह उत्तर मुझे महसूस करता है कि मैं अकेला नहीं हूं :) –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^