DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

Packager(3)





NAME

       SOAP::Packager - SOAP internal helper class


SYNOPSIS

           use SOAP::Packager;
           my $packager = SOAP::Packager->new('s:', 1, sub { print shift } );

           # some object used as a reference
           my $object = SOAP::Object->new();

           # on a given packager, register() always returns the same id for a given object
           my $id = $packager->register($env, $object);
           unless($id == $packager->register($env, $object)) { die "internal error" }

           # this serializes objectA
           $packager->seal($envelope);

           # note that the package is still valid
           unless($id == $packager->register($env, $object)) { die "internal error" }

           my $objectB = SOAP::Object->new();
           my $idB = $packager->register($env, $objectB);
           unless($idB == $packager->register($env, $objectB)) { die "internal error" }

           # this just serializes objectB - objectA was already serialized before
           $packager->seal($env);

           # this does nothing except waste some cycles enumerating a hash table
           $packager->seal($env=);

           # hash tables shut down at destruction of packager, releasing object references
           $packager = undef;


DESCRIPTION

       This is an internal class used by the SOAP/Perl implementation. It is
       designed to manage a table of object references and XML ids used for
       serializing object graphs that may contain multiref data (and perhaps
       even cycles). If you are extending SOAP/Perl, the above synopsis will
       probably be all you need if you want to reuse this class. Whatever you
       pass for the $env reference should implement a function called
       _alloc_id that returns a unique string each time it is called. This is
       normally implemented by SOAP::Envelope, so you can see a sample imple-
       mentation there.

       NOTE NOTE NOTE: The SOAP "package" attribute was dropped when the SOAP
       spec
                       went from version 1.0 to version 1.1. Use package-
       related
                       functionality at your own risk - you may not interoper-
       ate
                       with other servers if you rely on it. I'll eventually
       remove
                       this feature if it doesn't reappear in the spec soon.


AUTHOR

       Keith Brown


SEE ALSO

       SOAP::Envelope SOAP::OutputStream

perl v5.8.6                       2000-09-05                 SOAP::Packager(3)

Man(1) output converted with man2html