121 lines
3.7 KiB
Plaintext
121 lines
3.7 KiB
Plaintext
#
|
|
# 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
|