NonStop SOAP User's Manual

NonStop SOAP User-Exits
NonStop SOAP User’s Manual520501-012
C-25
SOA Enable a Nonstop Server Application With
User-Exits
Save the Service Response buffer in a global variable
> service()
This function is skipped.
> Pre_Marshal()
Transform the Service Response buffer into the SOAP Response structure expected
by the NonStop SOAP server, according to the DDL response definition for the service
> marshal()/process()
Transform the SOAP Response structure into the SOAP Response XML document
and reply to the service consumer
Note that in this example, the Pre_Marshal_Header() and Post_Process()
user-exits are not used.
Here are some example code segments for each of the customized user-exit methods
to help illustrate the required processing (the complete user-exit code sample with
comments is shown in Appendix C, NonStop SOAP User-Exits.
Pre_Process()
long SoapUEHandler_TOUPPER::Pre_Process(ServiceEnv *env,
SoapFault *sf)
{
strcpy(serviceName, env->getServiceName());
env->skipService();
return 0;
}
This code uses the skipService() method of ServiceEnv to force the NonStop
SOAP server to skip the default service() section of the normal processing flow.