What are your approaches to generating some sort of human-readable documentation from WSDLs?
In the past I've used WSDL viewer (by Tomi Vanek) (see my blog post about integrating it into NAnt) and I'm happy with the results, but I'm interested in any possible alternatives.
I've also heard of x3sp, but I haven't tried it.
I tried several alternatives
- TechWriter for Web Services: Really powerful, but HTML output was (see comments) multi-file. Also, comments indicate it is retired, but that is no longer the case.
- <oXygen/> XML Editor: It doesn't process embedded schema.
- Altova XML Spy: It doesn't process anonymous types.
and ended up tweaking WSDL viewer to my needs.
Use http://code.google.com/p/wsdl-viewer/ and cygwin's xsltproc
xsltproc wsdl-viewer.xsl downloaded-wsdl.xml > documetnation.html
Works like a charm
Yes, there is a new one: wsdl2html. It focuses on request/response and removes info that people don't care.
It's not listed here, but SoapUI has a useful wsdl documentation generator.
Right-click on your project and select "Generate Documentation."
Now, there is one more tool for this, called "DocFlex/XML WSDLDoc".
It is a new WSDL/XSD documentation generator that will allow you to document any number of both WSDL and XML schema (XSD) files plus any interconnections between them.
There is also an option for automatic inclusion of XSD diagrams generated by either Altova XMLSpy or Oxygen XML. Effectively, any of them can be used as dynamically linked diagramming engine.
KEY FEATURES
- Generation of single framed (Javadoc-like) HTML documentation by any number of WSDL/XSD files together. (If you have too many input files, you can pick them all using an Ant-like pathname pattern).
- Processing of any number of XML schemas (along with WSDL) including:
- In the form of separate XSD files
- XML schemas embedded in WSDL (within
<wsdl:definitons>/<wsdl:types>
element)
- Processing of any referenced WSDL files and XML schemas, in particular:
- Correct processing of all
<wsdl:import>
, <xs:import>
, <xs:include>
, <xs:redefine>
elements found across all involved WSDL/XSD files.
- Automatic loading and processing (i.e. inclusion in the documentation scope) all directly/indirectly referenced WSDL/XSD files.
- Sophisticated documenting of XSD components (XML schema documentation):
- Support of any XML schema design patterns.
- Possibility of automatic inclusion of XSD diagrams generated by either XMLSpy or Oxygen XML, with the support of all diagram hyperlinks.
- Documenting of all interconnections between WSDL definitions and XSD components:
- Hyperlinks from WSDL messages to the details of XSD elements/types describing the message data.
- In XSD element/type details, the list of all WSDL definitions where they are used.
- Copy the annotations of XSD elements/types to the documentation of those WSDL messages (and even operations) where they are used.
- Possibility of unlimited customization. WSDLDoc is actually a template set for DocFlex/XML, a software system for development and execution of high performance documentation and report generators from any data stored in XML files.
EXAMPLE
Here is a demo of such documentation (it was generated by a single source file:
http://developer.ebay.com/webservices/latest/ebaySvc.wsdl):
The HTML itself: http://www.filigris.com/docflex-xml/wsdldoc/examples/html/ebaySvc/index.html
LINKS
http://www.filigris.com/docflex-xml/wsdldoc/
Altova's XMLSpy does generates HTML documentation from a WSDL
... but it isn't free ;)
I just discovered that Notepad++ with the Xml Tools plugin installed can also do xsl transformations. If you provide it the wsdl-viewer.xsl mentioned earlier and the wsdl file, you'll get a nicely formatted html as a result.
I know this a poor man's documentation method, but I've used opening the wsdl's XSD in visual studio and doing snag-it prints of that with comments and arrows added for clarity and our customer seems to have liked it without having to use another tool. You also may not have this but could use a version from a free VPC or MSDN subscription I've also used the BizTalk schema editor to view the XSD as well and document it from there using snag-it or another screen capture app. I'd try and use what you have!
-Bryan
You can use "wsimport" which is part of the JDK and run Javadoc on the generated files. Presuming you have put in the annotations it will put them as part of the documentation.
Another tool would be Rational Application Developer which allows you to right click and generate the HTML documentation with pretty hyperlinked pictures.
You can use iDocIt! to document a WSDL and export then the documentation to HTML. It is an open source Eclipse plugin downloadable here.
It provides a new approach of creating documentations with thematic grids and thematic roles, but you need not to use them. You can create documentations still as plain text.