- new(optional key/value pairs)
-
$schema = SOAP::Schema->new(parse => $schema_uri);
This is the class constructor. With no arguments, it creates a
blank object of the class. Any arguments that are passed are treated as
key/value pairs in which the key represents one of the methods described
here, and the value is what gets passed when the method itself gets
invoked.
- parse(service description URI)
-
$schema->parse('http://schemas.w3.org/soap.wsdl');
Parses the internal representation of the service description
prior to the generation of stub routines to provide method-like access
to the remote services.
- access(service description URI)
-
$schema->access('http://soap.org/service.wsdl');
Loads the specified service description from the given URL,
using the current value of the schema accessor if none is provided. The
full content of the URL is returned on success, or an exception is
thrown (via "die") on error.
- load
-
$schema->load;
Takes the internal representation of the service and generates
code stubs for the remote methods, allowing them to be called as local
object methods. Stubs are generated for all the functions declared in
the WSDL description with this call because it's enough of a class
framework to allow for basic object creation for use as handles.
- schema
-
$current_schema = $schema->schema;
Gets (or sets) the current schema representation to be used by
this object. The value to be passed when setting this is just the URI of
the schema. This gets passed to other methods such as access for loading
the actual content.
- services
-
$hashref = $schema->services;
Gets or sets the services currently stored on the object. The
services are kept as a hash reference, whose keys and values are the
list of returned values from the WSDL parser. Keys represent the names
of the services themselves (names have been normalized into
Perl-compatible identifiers), with values that are also hash references
to the internal representation of the service itself.
- stub
- Returns the autogenerated Perl code as a string. This code is generated
from the WSDL provided by the "service"
method call. The code contains a package definition for the service being
called.
my $client = SOAP::Lite->new;
my $code = $client->service($WSDL_URL)->stub;
open FILE,">ServicePackage.pm";
print FILE $code;
close FILE;
- cache_dir
- Sets/retrieves the value of the directory where generated stubs will be
cached. If "cache_dir" is null, then no
caching will be performed.
my $client = SOAP::Lite->new;
my $code = $client->cache_dir("/tmp")->service($WSDL_URL)->stub;
If "cache_dir" is undefined,
no caching will take place.
- cache_ttl
- Sets/retrieves the value of the time to live (in seconds) for cached
files. This is only relevant when used in conjunction with
"cache_dir".
If "cache_ttl" is set to 0,
the cache will never expire. Files will have to be removed manually in
order for the cache to be refreshed.
my $client = SOAP::Lite->new;
my $code = $client->cache_ttl(3600)->cache_dir("/tmp")->service($WSDL_URL)->stub;
The default time to live is 0.
- useragent(LWP::UserAgent)
-
my $client = SOAP::Lite->new;
$ua = $client->schema->useragent;
$ua->agent("Fubar! 0.1");
my $response = $client->service("http://localhost/some.wsdl")
->someMethod("Foo");
Gets or sets the classes UserAgent used for retrieving schemas
over the web. This allows users to have direct access to the UserAgent
so that they may control the credentials passed to a remote server, or
the specific configuration of their HTTP agent.