OpenVMS Source Code Demos
BUILD_SIMPLE_SERVICE_STEP3_CLIENT.COM
$!========================================================================
$! title : build_SIMPLE_SERVICE_step3_client.com
$! purpose: builds the server app
$! author : Neil Rieck
$! note : wrapper.c is only used to fire 'server apps' from Apache
$!========================================================================
$ wsdl2h :== $gsoap$root:[000000.bin]wsdl2h.exe !
$ soapcpp2 :== $gsoap$root:[bin]soapcpp2.exe !
$ say :== write sys$output !
$ ask :== inquire/nopunc !
$ flavor = "CLIENT" !
$ service = "SIMPLE_SERVICE" !
$ myfsp = service +"_"+ flavor ! my file spec (partial)
$!
$ if p1 .eqs. "" !
$ then !
$ say "-w- no P1 provided"
$ say "-d- directory:" !
$ dir/col=1/nohead/notrail 'myfsp'_*.c !
$ ask choice "Version (default=abort) " !
$ choice = f$edit$(choice,"COLLAPSE") !
$ if choice .eqs. "" !
$ then !
$ say "-i-no version given so aborting" !
$ exit !
$ endif !
$ myfs = myfsp +"_"+ choice !
$ else !
$ myfs = myfsp +"_"+ p1 !
$ endif !
$ say "-i-compiling ", myfs,".c" !
$ say "==========================================================="
$!
$! note: the build scripts provided by Brett Cameron (in the gSOAP sample directory) say to use HP-C
$!
$ cc/names=(as_is,shortened)/prefix=all/float=ieee/ieee=denorm -
/warning=(disable=EMPTYSTRUCT) -
/include=gsoap$root:[include] -
'myfs'.c !
$ say "==========================================================="
$ ask junk "Continue with full build? (y/N/Link) " !
$ if junk .eqs. "L" then goto do_link
$ if junk .eqs. "LINK" then goto do_link
$ if junk .nes. "Y" then exit
$!
$!////////////////////////////////////////////////////////////////
$! this command:
$! soapcpp2 "-x" "-c" calc.h
$! will generate these files:
$! CALC.NSMAP CALC.WSDL NS.XSD SOAPC.C SOAPCLIENT.C
$! SOAPCLIENTLIB.C SOAPH.H SOAPSERVER.C SOAPSERVERLIB.C
$! SOAPSTUB.H
$! so I guess it is meant for use "without a WSDL". Likewise,
$! the tool "WSDL2H" produces the files above
$!////////////////////////////////////////////////////////////////
$ say "==========================================================="
$! /define=(WITH_DOM) -
$ cc/names=(as_is,shortened)/prefix=all/float=ieee/ieee=denorm -
/warning=(disable=EMPTYSTRUCT) -
/include=gsoap$root:[include] 'service'_gsc_c.c
$ cc/names=(as_is,shortened)/prefix=all/float=ieee/ieee=denorm -
/warning=(disable=EMPTYSTRUCT) -
/include=gsoap$root:[include] 'service'_gsc_'flavor'.c
$ cc/names=(as_is,shortened)/prefix=all/float=ieee/ieee=denorm -
/warning=(disable=EMPTYSTRUCT) -
/include=gsoap$root:[include] 'service'_gsc_'flavor'lib.c
$!------------------------------------------------
$! link
$!------------------------------------------------
$do_link:
$! gsoap$root:[lib]gsoapdbg.olb/lib <<<--- contains debugging code
$! gsoap$root:[lib]gsoap.olb/lib <<<--- no debugging code
$ say "Linking"
$ link/share='myfsp'.exe -
'myfs'.obj, -
'service'_gsc_'flavor'.obj, -
'service'_gsc_c.obj, -
sys$input/opt
gsoap$root:[lib]gsoap.olb/lib
gsoap$root:[lib]gsoapdom.olb/lib
GSMATCH=LEQUAL,1,0
case_sensitive=YES
$! gsoap$root:[lib]gsoap.olb/lib
$!-------------------------------------------------
$ path == f$environment("DEFAULT")
$ yada == "$" + path + myfsp +".EXE"
$!-------------------------------------------------
$ say "defined 'yadaC' so you can test this client app from DCL"
$ show sym yadac
$ say "example: yadac param1 param2 param3"