Observing the User Experience: A Practitioners Guide to User Research

The ATL Server framework will automatically generate the WSDL for the Web service. The WSDL is generated dynamically at runtime based on an SRF template and attribute-injected metadata and functions for the Web service. For example, in the HelloWorld example from earlier in this chapter, the attribute-injected code includes the following line:

HANDLER_ENTRY_SDL("Default", CHelloWorldService, ::HelloWorldService::CHelloWorldService, GenHelloWorldWSDL)

This macro is similar to the HANDLER_ENTRY macro in the HANDLER_MAP for ATL Server request handlers and, in fact, the HANDLER_ENTRY_SDL macro will eventually delegate to the HANDLER_ENTRY macro. However, it also contains additional information such as the name of the handler from which to retrieve the WSDL ( GenHelloWorldWSDL , or whatever is specified in the sdl parameter of the soap_handler attribute) and the Web service class from which to retrieve the metadata ( CHelloWorldService ).

The CSDLGenerator class and its base class _CSDLGenerator then use this information at runtime to retrieve the name of the Web service, its namespace URI, and its metadata. It then processes a WSDL SRF template, which uses the metadata to generate the WSDL.

Категории