powered by Jive Software

Server overnight causes error in file transfer

Hi all,

The file transfer was working fine initially and when I left the openfire server overnight unattended, it causes a file transfer error the next morning Has anyone encountered this problem before? My OS is running on Vista.

Below shows the error in the log file.

2009.08.13 09:49:31 [org.jivesoftware.openfire.filetransfer.proxy.FileTransferProxy.handleIQ(FileTr ansferProxy.java:131)
] Error activating connection
java.lang.IllegalArgumentException: Transfer doesn’t exist or is missing parameters
at org.jivesoftware.openfire.filetransfer.proxy.ProxyConnectionManager.activate(Pr oxyConnectionManager.java:282)
at org.jivesoftware.openfire.filetransfer.proxy.FileTransferProxy.handleIQ(FileTra nsferProxy.java:128)
at org.jivesoftware.openfire.filetransfer.proxy.FileTransferProxy.process(FileTran sferProxy.java:327)
at org.jivesoftware.openfire.spi.RoutingTableImpl.routePacket(RoutingTableImpl.jav a:260)
at org.jivesoftware.openfire.IQRouter.handle(IQRouter.java:303)
at org.jivesoftware.openfire.IQRouter.route(IQRouter.java:101)
at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:68)
at org.jivesoftware.openfire.net.StanzaHandler.processIQ(StanzaHandler.java:319)
at org.jivesoftware.openfire.net.ClientStanzaHandler.processIQ(ClientStanzaHandler .java:79)
at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:284)
at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:176)
at org.jivesoftware.openfire.nio.ConnectionHandler.messageReceived(ConnectionHandl er.java:133)
at org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived (AbstractIoFilterChain.java:570)
at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:299)
at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:53)
at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:648)
at org.apache.mina.common.IoFilterAdapter.messageReceived(IoFilterAdapter.java:80)
at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:299)
at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:53)
at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:648)
at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimplePr otocolDecoderOutput.java:58)
at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecF ilter.java:185)
at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:299)
at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:53)
at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:648)
at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java :239)
at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(Execut orFilter.java:283)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
at java.lang.Thread.run(Unknown Source)

Below shows the source code of the sendfile()

public

 String target = "myname@hostname";

 OutgoingFileTransfer oft = getFileTransferMgr().createOutgoingFileTransfer(target+"/Smack");

 String filename = "C:/myfile.exe";

 File file = **new** File(filename);

** if**(!file.exists())

      System.*out*.println("not exists");

** else**

      System.*out*.println("file exist");

** try** {

      oft.sendFile(file, "description-less");

 }

** catch** (XMPPException e) {

      // **TODO** Auto-generated catch block

      e.printStackTrace();

 }

 //on while loop to check whether file transfer is done

** while**(!oft.isDone())

 {

** if** (oft.getStatus() == FileTransfer.Status.error) {

           System.*out*.println("Error occurred");

** break**;

      }

** else **{

           System.*out*.println("status >>>>> "+ oft.getStatus());

           System.*out*.println("progress >>>>> "+ oft.getProgress());

      }

** **}

 // check whether the file transfer succeed

** if**(oft.getStatus().equals(FileTransfer.Status.error)){

      System.*out*.println("ERROR!!! " + oft.getError());

      System.*out*.println("ERROR!!! " + oft.getException());

 }

** else**

      System.*out*.println("File transfer succeeded");

}

Thanks and regards,

Jack

************ void sendFile(){