Files
MBS/WEBSERVICES/calculator/client/calculatorClient.4gl
T

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