# # FOURJS_START_COPYRIGHT(U,2000) # Property of Four Js* # (c) Copyright Four Js 2000, 2021. All Rights Reserved. # * Trademark of Four Js Development Tools Europe Ltd # in the United States and elsewhere # # Four Js and its suppliers do not warrant or guarantee that these samples # are accurate and suitable for your purposes. Their inclusion is purely for # information purposes only. # FOURJS_END_COPYRIGHT # GLOBALS "ws_calculator.inc" MAIN DEFINE op1 INTEGER DEFINE op2 INTEGER DEFINE result INTEGER DEFINE remaind INTEGER DEFINE terminate INTEGER DEFINE wsstatus INTEGER CLOSE WINDOW SCREEN IF num_args()==1 THEN LET Calculator_CalculatorPortTypeEndpoint.Address.URI = Retrieve_URL() END IF OPEN WINDOW w1 WITH FORM "calculatorClient" ATTRIBUTE (TEXT="Soap 1.1 Web Services calculator demo",STYLE="naked") LET terminate=false WHILE NOT terminate INPUT BY NAME op1,op2 ATTRIBUTE (UNBUFFERED) ON ACTION plus CALL Add(op1, op2) RETURNING wsstatus, result IF wsstatus = 0 THEN LET remaind=NULL DISPLAY BY NAME result,remaind DISPLAY "OK" TO msg ELSE DISPLAY wsError.description TO msg END IF ON ACTION minus CALL Subtract(op1, op2) RETURNING wsstatus, result IF wsstatus = 0 THEN LET remaind=NULL DISPLAY BY NAME result,remaind DISPLAY "OK" TO msg ELSE DISPLAY wsError.description TO msg END IF ON ACTION multiply CALL Multiply(op1, op2) RETURNING wsstatus, result IF wsstatus = 0 THEN LET remaind=NULL DISPLAY BY NAME result,remaind DISPLAY "OK" TO msg ELSE DISPLAY wsError.description TO msg END IF ON ACTION divide CALL Divide(op1, op2) RETURNING wsstatus, result, remaind CASE wsstatus WHEN 0 DISPLAY BY NAME result,remaind DISPLAY "OK" TO msg WHEN FaultID_DividedByZero DISPLAY DividedByZero TO msg OTHERWISE DISPLAY wsError.description TO msg END CASE ON ACTION close LET terminate=true EXIT INPUT END INPUT END WHILE CLOSE WINDOW w1 END MAIN FUNCTION Retrieve_URL() DEFINE url STRING DEFINE custo STRING OPEN WINDOW w2 WITH FORM "enterURL" ATTRIBUTE (TEXT="Web Services URL",STYLE="naked") LET url = arg_val(1) INPUT BY NAME url WITHOUT DEFAULTS ATTRIBUTE (UNBUFFERED) ON ACTION ACCEPT EXIT INPUT ON CHANGE url IF url=="Customize" THEN LET url="http://host:port/Calculator" PROMPT "Enter your URL" FOR url ATTRIBUTES (WITHOUT DEFAULTS) IF NOT INT_FLAG THEN LET INT_FLAG = false EXIT INPUT ELSE LET url = arg_val(1) END IF END IF ON ACTION CANCEL EXIT PROGRAM END INPUT LET INT_FLAG = false CLOSE WINDOW w2 RETURN url END FUNCTION FUNCTION fillcombourls(cb) DEFINE cb ui.ComboBox IF cb.getTag()=="COMBO" THEN CALL cb.addItem(arg_val(1),"(Standalone) "||arg_val(1)) CALL cb.addItem("http://localhost:6394/ws/r/demo/Calculator","(Httpdispatch) http://localhost:6394/ws/r/demo/Calculator") CALL cb.addItem("http://localhost/gas/ws/r/demo/Calculator","(FastCGI) http://localhost/gas/ws/r/demo/Calculator") CALL cb.addItem("http://localhost/gas/ws/r/demo/Calculator","(ISAPI) http://localhost/gas/ws/r/demo/Calculator") CALL cb.addItem("Customize","(Customize) Click here to add your own URL") END IF END FUNCTION