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 OPTIONS: 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
When using the
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 http://example.com/=XSD::Example http://example.com/data=XSD::Example::Data
There are no known bugs in this module.
Please report problems to Ivan Wills (email@example.com).
Patches are welcome.
Ivan Wills - (firstname.lastname@example.org)
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.