NAME
wsdl2perl.pl - create perl bindings for SOAP webservices.
SYNOPSIS
wsdl2perl.pl -t TYPE_PREFIX -e ELEMENT_PREFIX -m TYPEMAP_PREFIX \
-i INTERFACE_PREFIX -b BASE_DIR URL
OPTIONS
NAME SHORT DESCRIPTION
----------------------------------------------------------------------------
prefix p Prefix for all generated classes. If you set "-p=Foo",
you will get "FooAttributes", "FooTypes",
"FooElements" and so on.
attribute_prefix a Prefix for XML attribute classes.
Default: MyAttributes
type_prefix t Prefix for type classes.
Default: MyTypes
element_prefix e Prefix for element classes.
Default: MyElements
typemap_prefix m Prefix for typemap classes.
Default: MyTypemaps
interface_prefix i Prefix for interface classes.
Default: MyInterfaces
server_prefix sp Prefix for server classes.
Default: MyServer
base_path b Path to create classes in.
Default: .
typemap_include mi File to include in typemap. Must eval() to a valid
perl hash (not a hash ref !).
proxy x HTTP(S) proxy to use (if any). wsdl2perl will also
use the proxy settings specified via the HTTP_PROXY
and HTTPS_PROXY environment variables.
keep_alive Use http keep_alive.
user Username for HTTP authentication
password Password. wsdl2perl will prompt if not given.
generator g Generator to use.
Default: XSD
server s Generate a server interface (currently only CGI
supported)
help h Show help content
DESCRIPTION
Generates a interface class for a SOAP web service described by a WSDL definition.
The following classes are created:
A interface class for every SOAP port in service
Interface classes are what you will mainly deal with: They provide a method for accessing every web service method.
If you chose to generate Server interfaces, a class for every SOAP port in every Web service.
You'll have to implement a method for each of the implemented methods. You may implement these methods in the CGI script / handler, or in any class to dispatch calls to.
A typemap for every service
Typemaps are used internally by SOAP::WSDL for parsing the SOAP message into object trees.
If the WSDL definition is incomplete, you may need to add some lines to your typemap. Especially definitions for faults are sometimes left out.
Additional typemap content may be included by passing a file name as typemap_include (mi) option.
A type class for every element, complexType or simpleType definition
You may need to write additional type classes if your WSDL is incomplete.
For writing your own lib classes, see SOAP::WSDL::XSD::Typelib::Element, SOAP::WSDL::XSD::Typelib::ComplexType and SOAP::WSDL::XSD::Typelib::SimpleType.
TROUBLESHOOTING
Accessing HTTPS URLs
You need Crypt::SSLeay installed for accessing HTTPS URLs.
Accessing protected documents
Use the -u option for specifying the user name. You will be prompted for a password.
Alternatively, you may specify a passowrd with --password on the command line.
Accessing documents protected by NTLM authentication
Set the --keep_alive option.
Note that accessing documents protected by NTLM authentication is currently untested, because I have no access to a system using NTLM authentication. If you try it, I would be glad if you could just drop me a note about success or failure.
LICENSE
Copyright 2007 Martin Kutter.
This file is part of SOAP-WSDL. You may distribute/modify it under the same terms as perl itself
AUTHOR
Martin Kutter <martin.kutter fen-net.de>