2011-05-02 177 views
0

我想通過黑莓中的HttpConnection發送一些值到服務器。我想我更接近我正在嘗試的解決方案。但一旦我建立連接並使用getResponseCode()方法。它沒有任何回報。我也嘗試過使用調試選項。但我無法找到什麼是回報。控制過程一直順利,直到該陳述。一旦達到了特定的聲明,它甚至會從調試模式中出來。下面是我附加的代碼片段,請讓我知道你的建議。HTTPConnection對象什麼也沒有返回

// MyHttpConnectionService.java

........ 
........ 
........ 
OutputStream _outputStream = _connection.openOutputStream(); 
try { 
     int rc = _connection.getResponseCode(); // My control is getting lost here 
     System.out.println("Response Code :" + rc); 
     System.out.println("Response Code   :" + rc + " if HTTP OK    :" 
       + (rc == HttpConnection.HTTP_OK)); 


......... 
......... 

}catch(Exception e){ 
     e.printStackTrace(); 
    } 

它不拋出任何異常了。

任何幫助表示讚賞。

回答

0

看着documentation for HTTPConnection,我想你應該把你的值寫入_outputStream,然後打電話outputStream.flush()

你提到控制在致電_connection.getResposeCode()時丟失了,我認爲這是因爲這個方法做了幾件事情。從示例源代碼中的註釋:

獲取響應代碼將打開連接,發送請求並讀取HTTP響應頭。標題被存儲直到被請求。

如果到達服務器有問題,它可能與您的連接字符串有關。你是否正確設置連接字符串?

+0

是的,'HttpConnection.getResposeCode()'打開連接,發送請求並讀取HTTP響應頭。這就是爲什麼它應該首先被調用(在任何流打開之前)。 – 2011-05-02 19:49:43

+0

嗨,這是我自己的帖子的解決方案。我在運行代碼時使用了MDS模擬器。它工作正常。感謝你的支持 – 2011-05-04 12:19:08