/* * Main Client Class for Calculator * * ============================================ * When Who What * ============================================ * 2007-01-10 Olle Kullberg Created. * ============================================ */ import com.your_domain.www.axis.services.Calculator_wsdl.CalculatorPortType; import com.your_domain.www.axis.services.Calculator_wsdl.CalculatorServiceLocator; import com.your_domain.www.ns.Calculator_xsd.MultiplicationRequestType; import com.your_domain.www.ns.Calculator_xsd.DivisionRequestType; public class Main { public static void main (String[] args) throws Exception { CalculatorServiceLocator loc=null; CalculatorPortType stub = null; System.out.println("===================================="); System.out.println("Main 1. Try locate service.."); System.out.println("===================================="); try{ loc = new CalculatorServiceLocator(); System.out.println("New CalculatorServiceLocator created."); stub = loc.getCalculator(); System.out.println("CalculatorPortType created."); }catch( Exception e){ System.err.println("Error when trying to find Calculator Service!"); System.err.println("Check if service is deployed or server down."); e.printStackTrace(); System.exit(2); } if(stub == null){ System.err.println("CalculatorPortType can not be found!"); System.err.println("Check if service is deployed or server down."); System.exit(2); } System.out.println("===================================="); System.out.println("Main 2. Check parameters"); System.out.println("===================================="); // First chech nr of args. if (args.length != 3){ System.err.println ("Usage: java Main method arg1 arg2"); System.exit(2); } int a1=0; int a2=0; float floatRes=0; // First try to convert the 2 last arguments try{ a1= Integer.parseInt(args[1]); a2= Integer.parseInt(args[2]); }catch(Exception e){ System.err.println("Usage: java Main method arg1 arg2"); System.err.println("Arguments must be integers."); System.exit(2); } // Now check first argument. String command= (String) args[0]; System.out.println("===================================="); System.out.println("Main 3. Try execute command.."); System.out.println("===================================="); try{ if (command.equalsIgnoreCase("MUL")){ MultiplicationRequestType mrt= new MultiplicationRequestType(a1,a2); floatRes= (float) stub.multiplication(mrt); }else if(command.equalsIgnoreCase("DIV")){ DivisionRequestType drt= new DivisionRequestType(a1,a2); floatRes= stub.division(drt); }else{ System.err.println ("Usage: java Main method arg1 arg2"); System.err.println ("Method must be: MUL or DIV."); System.exit(2); } }catch(Exception e){ System.err.println("Error when trying to execute command!"); e.printStackTrace(); System.exit(2); } System.out.println("===================================="); System.out.println("Main 4. Print result.."); System.out.println("===================================="); // To store the result String result="The result of the operation "+ command + "( "+a1+ ", "+a2+" ) was "+floatRes; System.out.println(result); System.out.println("Program finished!"); } }