Provided by: libsoap-lite-perl_1.27-3_all bug

NAME

       SOAP::Schema - provides an umbrella for the way in which SOAP::Lite manages service description schemas

DESCRIPTION

       This class provides an umbrella for the way in which SOAP::Lite manages service description schemas.
       Currently, the only support present is for the Web Services Description Language (WSDL). This is another
       of the classes not generally designed to be directly instantiated by an application, though it can be if
       so desired.

METHODS

       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.

SOAP::Schema::WSDL

       At present, the SOAP::Lite toolkit supports only loading of service descriptions in the WSDL syntax. This
       class manages the parsing and storing of these service specifications. As  a  general  rule,  this  class
       should  be  even  less  likely  to  be  used  directly  by  an application because its presence should be
       completely abstracted by the previous class (SOAP::Schema). None of the methods  are  defined  here;  the
       class is only mentioned for sake of reference.

ACKNOWLEDGEMENTS

       Special  thanks  to  O'Reilly  publishing  which  has  graciously  allowed  SOAP::Lite  to  republish and
       redistribute large excerpts from Programming Web Services with  Perl,  mainly  the  SOAP::Lite  reference
       found in Appendix B.

COPYRIGHT

       Copyright (C) 2000-2004 Paul Kulchenko. All rights reserved.

       This  library  is  free  software;  you can redistribute it and/or modify it under the same terms as Perl
       itself.

AUTHORS

       Paul Kulchenko (paulclinger@yahoo.com)

       Randy J. Ray (rjray@blackperl.com)

       Byrne Reese (byrne@majordojo.com)

perl v5.36.0                                       2023-03-01                                  SOAP::Schema(3pm)