wsdl-parser - Parses a WSDL file to generate a SOAP client


This documentation refers to wsdl-parser version 0.14.


   wsdl-parser [options] [--module-base|-b Pkg WSDL
   wsdl-parser [options] Pkg::Name WSDL [--namespace-map|-n] 'xsd-namespace=perl-namespace' ...
   wsdl-parser [options] Pkg::Name WSDL [--map-file|-f] file
   wsdl-parser [options] [--show|-s] WSDL

  WSDL          The WSDL file or URL to get the WSDL from
  Pkg::Name     The Perl package namespace you want the WSDLs operations accessible from

  -s --show     Show some info about the passed WSDL file eg it's operations
  -b --module-base[=]str
                Let the W3C::SOAP auto generate package names for any WSDLs or
                XSDs found while processing. (Note packages will be valid
                but not pretty)
  -n --namespace-map ns=package
                A mapping of XSD namespaces (ns) to perl package names
                (package), it is required when writing XSD files if --module-base
                is not specified. (This results in controlled namespaces but can
                be a lot of work to setup)
  -f --map-file[=]file
                File that contains namespace mappings instead of having to
                write all the mappings on the command line and can be used
                again for other WSDLs or regenerating the current one.
  -l --lib[=]dir
                Directory where generated modules should be writted, the
                default is ./lib
  -p --path[=]str
                Extra template toolkit directories if you want to override
                default templates.
  -S --save     Save all downloaded WSDLs & XSDs

  -v --verbose  Show more detailed option
     --version  Prints the version information
     --help     Prints this help information
     --man      Prints the full documentation for wsdl-parser


There are three basic modes of operation of wsdl-parser:


When using the --show option wsdl-parser dumps a human readable version of what the WSDL can do.


In basic mode occurs when using the --module-base option W3C::SOAP will generate all of the module names for the WSDL and XSDs processed. The names are based on the target namespaces of each WSDL or XSD so they might end up being rather long and unwieldy.


In the advanced mode all namespaces must be specified either by --namespace-map on the command line or by specifying a --map-file. The easiest way to do this is to run wsdl-parser and look at the thrown errors (which should include the unmapped XSD namespace and append that namespace to the end of the command and run again. This may take several iterations to get all of the namespaces specified.


The file format is = or tab separated rows of 2 elements with the first being the XSD namespace and the second being the perl package namespace. Lines with nothing on them are ignored as are lines starting with a hash (#).

An example map file:

 # this is ignored






There are no known bugs in this module.

Please report problems to Ivan Wills (

Patches are welcome.


Ivan Wills - (


Copyright (c) 2012 Ivan Wills (14 Mullion Close, Hornsby Heights, NSW Australia 2077). All rights reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.