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.