WSDL creation is almost entirely handled by a supplied XSLT style sheet. Here is the code.
Write-WSDL. XML ENABLE ATTRIBUTES If Not XML-OK Go To Z. XML ENABLE ALL-OCCURRENCES If Not XML-OK Go To Z. XML SET XSL-PARAMETERS "SOAP_Address" Service-URI *> WSDL "SOAP_Action_Prefix" SOAP-Action-URI *> WSDL "Interface_Name" Service-Name *> WSDL "Method_Namespace" Method-Namespace-URI. *> all If Not XML-OK Go To Z End-If. XML EXPORT FILE SOAP-Request-Response *> data item to export from BIS-Exchange-File-Name *> exported document file name "SOAP-Request-Response" *> model data-name "cobol_to_wsdl.xsl" *> stylesheet for transform If Not XML-OK Go To Z End-If Call "B$WriteResponse" Using BIS-Response-SessionComplete Giving BIS-Status If Not BIS-OK Go To Z End-If.
This paragraph exports the WSDL to the exchange file using the cobol_to_wsdl.xsl style sheet.
This style sheet uses the structure of the SOAP-Request-Response record area to derive much of the information for the WSDL. Attributes and all occurrences are enabled. Additional metadata values pass to the style sheet as XSL parameters. This style sheet depends on the naming conventions properly to identify all the methods and their parameters. B$WriteResponse then notifies the request handler that the response is in the exchange file. The request handler sends the exchange file contents to the client.