FtpPostOffice Frequent Questions

what are the system pre-requisites?

JDK 1.3 or higher is required for running the client, and, if you want to run the web module that processes the web form to capture the properties of a new interface, you want the Servlet developement kit or a run-time that includes servlets. The servlet piece is not required for generating new interfaces because you have the alternative of manual edits on XML property files that define and interface, its files and host connections.

why is servlet used for the form response rather than JSP?

JSP would not work due to the way the Marshall methods use the underlying XMLWriter. The JSP could not contain both a JSPWriter and an XMLWriter. In order for the JSP to return the XML to the client's browser, it had to ``read'' the XML file from the file system. Rather than do that, i wanted to Marshall directly from the run-time objects to the Servlet's response.

How to run the client on a schedule every hour?

An enhancement to the feature list is required for this. In the meantime, your client application can be invoked by CRON or by AT or the newer NT service for Scheduler. Eventually, the Schedule would be simply the run-times response to another property in the XML file an attribute of ExchangeSession that collaborates with an enterprise Scheduler of some kind.

Problems with firewall's and proxies that complicate FTP.

This project using IBM shareware for Network FTP connections and they provide for the FTP connection to collaborate with a SOCKS Server. This is one solution that may require a SOCKS server inside your firewall.

see docs for FTPProtocol

How to use other connection types for moving files.

There are 2 interfaces that would permit implementations of other connection types like SSH or HTTP. By default, this provides the implementations in the classes FtpConnection and FtpConnectionMgr

How to resend files?

There are 2 ways to do this, one easy, the other more difficult. Its easy to find the LastFile element in the xml file and revise it. This has the effect of reprocessing any and all files with Timestamps younger than the manual date that you provided for LastFile. If you want to get more complicated, look at the Class FtpConnection and how it uses the vector files. By manually adding your own collection to a Vector and by Substituting your instance where the class currently processing the files object, you could resend whatever collection of files that you want.

do i need to use the Web App and the form to create the XML file?

No. You may edit ftpjax.xml directly and then run the Client.

What is the taglib for?

On a trial basis for the dates in the form, I tried some of techniques for taglibs available at http://jakarta.apache.org/taglibs/

Errors finding the Properties file?

Verify that the CP includes the following directories:

 %INSTALL_DIRECTORY%/config
%INSTALL_DIRECTORY%/data

Errors - Sealing Violation

This is a tricky one involving repetion of some XML parse related JAVA classes that are contained in more than 1 JAR in the run-time. I believe that the conflict is between the JAXB jar and the J2EE jar and that this may affect the Servlet. I had lots of problems in my IDE trying to test download and deployment. These problems were resolved by going in to the classes directory of the Web Module and manually un-JARing ``jaxb-rt-1.0-ea.jar''. For further reading on sealing violations:

http://forum.java.sun.com/thread.jsp?forum=34&thread=68840