WSDL Formatter

Indent a web service contract and get an inventory of its services, port types and operations at the top.

WSDL document
Formatted WSDL
Runs locally in your browser

About the WSDL Formatter

A WSDL file describes a whole SOAP service in one document, which is why the ones handed over by an integration partner are so often a single 20 kilobyte line. Indenting it is the first step; knowing what is inside is the second. This tool does both, printing the contract with proper nesting and then adding a comment block that lists the target namespace, the service names, every port type with its operations spelled out, and how many messages and bindings the file defines.

That inventory answers the questions you actually have when a contract lands in your inbox. Which operations can I call? Is the binding document literal or RPC encoded? Does the file define its own schema types or import them? The <types> section is left exactly as written, including any imported schema locations, because rewriting it would change what a code generator produces.

Both WSDL 1.1, with a definitions root in the schemas.xmlsoap.org namespace, and WSDL 2.0, with a description root in the w3.org namespace, are recognised, and the version is named in the summary. A document with any other root is rejected unless you untick the strict option, which is a quick way to catch the case where a server returned an HTML error page instead of the contract. Once you know the operations, format a real call with the SOAP Formatter or inspect any nested schema with the XML Viewer.

How to use

  1. Paste the whole WSDL document, or open the service URL with ?wsdl and copy what it returns.
  2. Read the comment block for the target namespace, the port types and the operation names.
  3. Adjust the indent to match the rest of your repository before you commit the file.
  4. Download it as service.wsdl for the client generator you use.

Common questions

Does it follow wsdl:import and xsd:import links?
No. Nothing here fetches over the network, so imported schemas are listed as written but not retrieved. Format each imported file separately.
Which WSDL versions are recognised?
Version 1.1 with a definitions root and version 2.0 with a description root. The summary comment names which one your file uses.
Why does my document fail with a parser error?
The file is not well formed XML. A common cause is copying only part of a long line, which leaves an element unclosed at the point where the copy stopped.
Can I see the operations without the summary comment?
Yes. Untick the summary option and the operation count still appears in the status line above the output pane.