SocketTimeoutException:在Jar中读取超时

时间:2012-08-14 08:55:19

标签: java eclipse soap jar collabnet

我正在尝试将文件上传到Sourceforge,并在Eclipse中使用Collabnet API和SOAP in Java创建文件版本,这很好用,直到我将类打包到jar中,将其添加到构建路径,并尝试通过Ant Java任务执行它。然后我得到下面给出的错误fi_sfSoap.upLoadFile挂起然后超时。它不是文件的大小,起初我认为它是文件路径,但文件读取器可以从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)    

1 个答案:

答案 0 :(得分:0)

猜测您的文件太大而无法上传。

BTW !latest_release.canRead()并不明确表示该文件不存在。它可能存在但由于访问控制而无法访问。