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