You are using SOAP and WSDL to build a service-based enterprise architecture. You want developers to be able to find complete and pertinent information on available services.
This solution constructs a
documentation server: a service that provides information about
services. This example will use a Perl-based CGI that invokes XSLT
processing on a single WSDL file containing or including information
about all services available in an enterprise. Here the CGI invokes
the XSLT processor in a
system call. This clumsy
setup is good for prototyping but not production use. A better
solution would use the Perl modules
XML::LibXSLT. An even better architecture
would use a more sophisticated server-side XSLT-enabled solution such
as Cocoon. To focus
on the XSLT and WSDL aspects of this example, and not the CGI
architecture, we took a simplistic approach.
The site’s main page is generated by a CGI that shows the user available services and ports. See the discussion for explanations of services and ports. It uses the following Perl CGI frontend to Saxon:
#!c:/perl/bin/perl print "Content-type: text/html\n\n" ; system "saxon StockServices.wsdl wsdlServiceList.xslt" ;
The transformation builds a form containing all available services, ports, bindings, and port types:
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" ...