| WS client stubs and handlers / The generated callback handlers | |
There are three kind of callbacks you must implement for each service generated with the -domHandler option.
The request handler that allows the modification of the entire SOAP request before it is send over the net.
It must be named ServiceName_HandleRequest, where ServiceName is the name of the service according to the different prefix options used during generation.
FUNCTION ServiceName_HandleRequest(operation,doc,header,body)
DEFINE operation STRING -- Operation name of the
-- request to be modified.
DEFINE doc xml.DomDocument -- Entire XML document of the request
DEFINE header xml.DomNode -- XML node of the SOAP header
-- of the request
DEFINE body xml.DomNode -- XML node of the SOAP body of the
-- request
CASE operation
WHEN "Add"
... -- Use the DOM APIs to modify the request of the Add operation
WHEN "Sub"
... -- Use the DOM APIs to modify the request of the Sub operation
OTHERWISE
DISPLAY "No modification for operation :",operation
END CASE
RETURN TRUE -- Continue normally in Add_g() or Sub_g()
END FUNCTION
The response handler that allows the validation of the entire SOAP response before it is de-serialized into the corresponding record.
It must be named ServiceName_HandleResponse, where ServiceName is the name of the service according to the different prefix options used during generation.
FUNCTION ServiceName_HandleResponse(operation,doc,header,body)
DEFINE operation STRING -- Operation name of the
-- response to be checked.
DEFINE doc xml.DomDocument -- Entire XML document of the response
DEFINE header xml.DomNode -- XML node of the SOAP header of
-- the response
DEFINE body xml.DomNode -- XML node of the SOAP body of the
-- response
CASE operation
WHEN "Add"
... -- Use the DOM APIs to check the response of the Add operation
WHEN "Sub"
... -- Use the DOM APIs to check the response of the Sub operation
OTHERWISE
DISPLAY "No verification for operation :",operation
END CASE
RETURN TRUE -- Continue normally in Add_g() or Sub_g()
END FUNCTION
The fault response handler that allows the verification of the entire SOAP fault response before it is de-serialized into the wsError record.
FUNCTION ServiceName_HandleResponseFault(operation,doc,header,body)
DEFINE operation STRING -- Operation name of the fault
-- response to be checked.
DEFINE doc xml.DomDocument -- Entire XML document of the fault response
DEFINE header xml.DomNode -- XML node of the SOAP header of the
-- fault response
DEFINE body xml.DomNode -- XML node of the SOAP body of the fault
-- response
CASE operation
WHEN "Add"
... -- Use the DOM APIs to verify the SOAP fault response
-- of the Add operation
WHEN "Sub"
... -- Use the DOM APIs to verify the SOAP fault response
-- of the Sub operation
OTHERWISE
DISPLAY "No verification for operation :",operation
END CASE
RETURN TRUE -- Continue normally in Add_g() or Sub_g()
END FUNCTION