I need a simple Java API call to look up shipping information from the UPS Online Tools web service.
I'm looking for someone to write one or more classes providing a simple interface to this information. Specifically, the Java class should determine the cost shipped to a particular zip code or a full address. The UPS web service is an XML-based web service accessed via HTTP POST, fully documented after downloading the RSS developer's kit. You can get this by registering on the UPS site or I'll provide it after bidder selection. (I'll also provide a UPS developer key and access key).
UPS Information:
[login to view URL];CURRENT_PAGE=WELCOME&OPTION=TOOL_DOC&TOOL_ID=RateXML&pageName=rates&WT.svl=SubNav
The class should provide three public methods:
void init(UPSConfiguration configuration)
double getCost(Address originAddress, Address destinationAddress, ShipmentMethod shipmentMethod)
double getCost(Address originAddress, String destinationZip, ShipmentMethod shipmentMethod)
I'll provide classes Address and ShipmentMethod. Address is a Javabean with standard address fields. All addresses are US-based. ShipmentMethod is an "Effective Java" style enumerated type object defining the shipment method. (ground shipping, next day air, two day air). You define UPSConfiguration.
Specific requirements:
* The source must be able to be compiled with JDK 1.5 and run with JRE 1.5.
* It's not required to use the sample code in the UPS doc. (To me, it seems a bit out of date)
* Third party open source code or libraries are ok to use. But they must all be licensed under a business friendly license such as Apache, MIT, or BSD.
* You must provide unit tests (that can be run with JUnit inside Eclipse) with complete coverage.
* This project must be completed in the next seven days.