++ed by:

7 PAUSE users
8 non-PAUSE users.

Byrne Reese

Changes for version 0.68

  • ! Patched support for mod_perl Apache2 (thanks to JT Justman) ! Fixed bug where SOAP::SOM objects were not properly detected, serialized and returned (thanks chris at prather dot o r g) ! Fixed bug with default_ns and ns functions so that they serialized XML properly.
  • Started to add experimental DIME support - possible impacts to MIME support as well
  • 0.65-beta7 May 12 2005
    • Added default_ns and ns to replace the confusing use of uri() and use_prefex()
  • 0.65-beta6 June 3 2005
    • ! Fixed bug resulting in XMLRPC requests to be serialized using the doc/literal serializer if serializing arrays
  • 0.65-beta5 May 6 2005
    • ! Fixed critical bug which prevented all XMLRPC servers from working
  • 0.65-beta4 Apr 3 2005
    • ! Fixed bug 1160881 - HTTP headers are now terminated by \r\n for compatibility with .NET and compliance with HTTP spec. ! Fixed 1158666 - stubmaker.pl no longer call deprecated subroutine
    • stubmaker.pl got a lot of enhancements - now has help and version output, run time options, etc. See 'man stubmaker.pl' for more.
    • Classes generated by stub_maker.pl now have a special subroutine called 'want_som.' When set to 1, the stub class will return a SOAP::SOM object for every request. ! Fixed bug 1149427 - now capable of returning SOAP::SOM objects from generated stub classes.
  • 0.65-beta3 Mon Oct 25 2004
    • SOAP::Lite will only warn you once when you call a doc/literal service
    • Added SOAP::Schema->cache_dir() and SOAP::Schema->cache_ttl(), which control how code stubs generated from WSDLs are cached to prevent constant reparsing of WSDL files. ! Tested SOAP::Lite against Google, Salesforce, and FedEx. So far, clients can successfully call these service providers (at least some of their operations) - testing does not provide 100% coverage of their APIs.
  • 0.65-beta2.1 Mon Oct 25 2004
    • Fixed bug in unit tests in which MIME::Tools was not properly detected resulting in failed unit tests for some users.
    • Fixed some documentation issues (speling, etc).
  • 0.65-beta2 Mon Oct 25 2004
    • WARNING ** substantial changes have been made to SOAP::Lite in this release in regards to how it manages attachments. The changes may introduce instabilities into your software that relies on this functionality. Please test your software with 0.65 prior to moving it to a production environment.
    • Added ReleaseNotes.txt
    • Added section REPORTING BUGS to pod comments
    • Deprecated SOAP::Lite->schema removed
    • Deprecated SOAP::Lite->on_debug removed
    • Deprecated SOAP::Schema->schema in favor of SOAP::Schema->schema_url
    • Added SOAP::Schema->useragent - which returns the LWP::UserAgent instance that will be used when accessing WSDLs via the SOAP::Lite->service call. This is helpful when access to a WSDL requires authentication, etc.
    • Made changes that allow messages to be constructed using a NULL body: <Envelope><Body /></Envelope>
    • Added constant OBJS_BY_REF_KEEPALIVE which defaults to 600 - this is so that services can configure how long to cache objects marked as persistent using SOAP::Server::Object->objects_by_reference()
    • Added the ability for a user to modify the UserAgent class used by SOAP::Transport::HTTP::Client, updated Transport.pm's documentation to reflect this. Added $SOAP::Transport::HTTP::Client::USERAGENT_CLASS variable as a means of setting this.
    • Added initial DIME support
    • SOAP Packager package/unpackage now take in a context variable as input because DIME needs to know what version of SOAP you are using.
    • Refactored and rewrote README
    • Renamed SOAP::Schema->stub() to SOAP::Schema->generate_stub. This populates a private variable called C<stub> with the autogenerate Perl code.
    • Added SOAP::Schema->stub() which returns the autogenerated Perl code used internally by SOAP::Lite. This can be helpful for debugging SOAP::Lite's utilization of WSDL, as well as helpful to developers working on S::L's WSDL support.
  • 0.65-beta1 Mon Oct 18 15:55:00 2004
    • Made SOAP::Serializer->readable actually produce readable XML! ! Fixed bug 747312 - Made XML Schema 2001 the default schema
    • Changed typelookup of base64 to base64Binary to conform with 2001 schema
    • Added support for [almost] all XML Schema 2001 built-in datatypes
    • Added register_ns subroutine to SOAP::Serializer
    • Added find_prefix subroutine to SOAP::Serializer
    • Added use_prefix subroutine to SOAP::Serializer
    • Added a necessary set of initial subroutinues to support wsdl2perl project
    • Added format_datetime to SOAP::Utils
    • Documented SOAP::SOM->parts
    • Added SOAP::SOM->is_multipart
    • Properly escaped characters to facilitate emacs syntax highlighting
    • Ran podchecker to validate all POD comments ! Fixed bug 749636 - changed a croak to a warn to enable socket timeouts in SOAP::Transport::TCP::Server
    • Added support for UDDI 2/3
    • Majorly revamped product documentation thanks to the kind contribution made by O'Reilly. Appendix B from "Programming Web Services with Perl" has been completely integrated.
    • To better segment SOAP::Lite documentation, many modules have been added that contain documentation only. For those who loved the old documentation, it can be found in lib/OldDocs/SOAP/*.pm and lib/OldDocs/SOAP/Transport/*.pm ! Fix a bug in which doclit style arrays were not being deserialized properly. IOW, Repeated elements were not made into an array, only the last occurring value was recorded.
    • Added the ability for a SOAP Client to gain direct access to the HTTP::Request and HTTP::Response objects.
    • Changed default envelope namespace prefix from SOAP-ENV to soap
    • Changed default encoding namespace prefix from SOAP-ENC to soapenc
    • Reachitected MIME support to decouple MIME layer from transport layer. This only impacts the HTTP layer since that is the only transport in SOAP::Lite that supports attachments.
    • Creation of SOAP::Packager - decoupled in an extensible way the packaging of parts (a.k.a. attachments). This is used for encoding and decoding. This enables a more seemless addition of DIME support. Changes were made throughout SOAP::Lite to accomodate this functionality.
      • a call "context" was added to SOAP::Server and SOAP::Deserializer so that those classes could have access to the global SOAP::Packager instance
      • deprecated many function calls and packages having to do with attachment support
      • fixed several of the SOAP::*::new() methods so that they don't inadvertantly reinitialize themselves and destroy precious context information in the process
    • Gave developers direct access to MIME::Parser object so that they can optimize its use. See the following URL to optimize it for memory consumption, parsing speed, disk utilization, etc: http://search.cpan.org/dist/MIME-tools/lib/MIME/Parser.pm#OPTIMIZING_YOUR_PARSER
    • Added a context variable to SOAP::Serializer and SOAP::Deserializer so that they have mechanisms for getting instance data from the calling context. The value of context is either SOAP::Lite or SOAP::Server depending upon the role the service is playing in the transaction. Contexts are initialized when a call is made, and destroyed when a call is completed.
    • Greater than character '>' has been added to list of characters that will be automatically escaped. This is not a requirement by the XML spec, it is a MAY, but I am doing it after seeing a minority of people report a compatibility problem.
    • Removed deprecated methods: SOAP::Serializer::namespace and encodingspace
    • Added SOAP::Serializer::encodingStyle method which allows users to set the URI for default encodingStyle.
    • Added initial support for literal encoding style. EXPERIMENTAL
    • Added some true constant values representing various SOAP namespace URIs
    • Added SOAP::Constants::SUPPORTED_ENCODING_STYLES for better tracking of the set of encoding styles that the toolkit can [de]serialize ! Fixed bug 840172 - "Makefile.PL --noprompt flag broken," now fixed
    • Updated SOAP 1.2 URIs to the latest (TODO - maintain support for older ones)
    • Added HTTPS support for HTTP::Server Daemon class - thanks to Nils Sowen for this contribution
Show More


  • SOAP::Client - exists purely as a superclass for client classes declared by the various SOAP::Lite transport modules.
  • SOAP::Constants - SOAP::Lite provides several variables to allows programmers and users to modify the behavior of SOAP::Lite in specific ways.
  • SOAP::Data - this class provides the means by which to explicitly manipulate and control all aspects of the way in which Perl data gets expressed as SOAP data entities.
  • SOAP::Deserializer - the means by which the toolkit manages the conversion of XML into an object managable by a developer
  • SOAP::Fault - encapsulates SOAP faults prior to their serialization or after their deserialization
  • SOAP::Header - similar to SOAP::Data elements, a SOAP::Header object simply is encoded in the SOAP Header block
  • SOAP::Lite - Client and server side SOAP implementation
  • SOAP::SOM - provides access to the values contained in SOAP Response
  • SOAP::Schema - provides an umbrella for the way in which SOAP::Lite manages service description schemas
  • SOAP::Serializer - the means by which the toolkit manages the expression of data as XML
  • SOAP::Server - provides the basic framework for the transport-specific server classes to build upon
  • SOAP::Trace - used only to manage and manipulate the runtime tracing of execution within the toolkit
  • SOAP::Transport - an abstract class extended by more specialized transport modules
  • SOAP::Transport::FTP - Client side FTP support for SOAP::Lite
  • SOAP::Transport::HTTP - Server/Client side HTTP support for SOAP::Lite
  • SOAP::Transport::IO - Server side IO support for SOAP::Lite
  • SOAP::Transport::JABBER - Server/Client side JABBER support for SOAP::Lite
  • SOAP::Transport::LOCAL - Client side no-transport support for SOAP::Lite
  • SOAP::Transport::MAILTO - Client side SMTP/sendmail support for SOAP::Lite
  • SOAP::Transport::MQ - Server/Client side MQ support for SOAP::Lite
  • SOAP::Transport::POP3 - Server side POP3 support for SOAP::Lite
  • SOAP::Transport::TCP - Server/Client side TCP support for SOAP::Lite
  • SOAP::Utils - a utility package for SOAP::Lite
  • SOAPsh.pl - Interactive shell for SOAP calls
  • XMLRPCsh.pl - Interactive shell for XMLRPC calls
  • stubmaker.pl - Generates client stubs from a WSDL file.