2012-08-14 33 views
0

我試圖上傳一個文件到Sourceforge,並在Eclipse中使用Java中的Collabnet API和SOAP創建文件版本,這工作正常,直到我將該類打包到一個jar,將它添加到構建路徑中,並嘗試通過Ant Java任務執行它。然後我得到下面給出的錯誤fi_sfSoap.upLoadFile掛起,然後超時。這不是文件的大小,起初我認爲這是文件路徑,但文件可以從文件讀取器從jar中讀取。任何幫助將不勝感激!SocketTimeoutException:在Jar中讀取超時

File latest_release = new File(file_path); 
    if(!latest_release.canRead()){ 
     System.out.println("File does not Exist"); 
}else{ 
     DataSource ds = new FileDataSource(latest_release); 
     DataHandler dh = new DataHandler(ds); 
    try{ 
      String file_id = fi_sfSoap.uploadFile(sessionId, dh); 
      f_sfSoap.createFrsFile(sessionId, release_id, fileName, "application/zip", file_id); 
     }catch(Exception e){ 
      e.printStackTrace(); 
     } 


    } 

錯誤消息

[java] AxisFault 
    [java] faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException 
    [java] faultSubcode: 
    [java] faultString: java.net.SocketTimeoutException: Read timed out 
    [java] faultActor: 
    [java] faultNode: 
    [java] faultDetail: 
    [java] {http://xml.apache.org/axis/}stackTrace:java.net.SocketTimeoutException: Read timed out 
    [java] at java.net.SocketInputStream.socketRead0(Native Method) 
    [java] at java.net.SocketInputStream.read(Unknown Source)  

回答

0

在猜測你的文件過大,無法上傳。

BTW !latest_release.canRead()並不意味着文件不存在。它可能存在但由於訪問控制而無法訪問。

+0

謝謝,我會試着看看訪問控制。這個問題仍然存在於一個簡單的文本文件中,真正的問題是它可以上傳相同的文件,只要它沒有被打包成jar。 – 2012-08-14 10:52:46