Serving SOAP Documentation from WSDL
Problem
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.
Solution
This solution constructs a
WSDL-based service
documentation server: a service that provides information about
services.[29] 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::LibXML
and 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/" ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access