#
# Revision history for Perl extension SOAP::Lite.
#
The contents of this file provides a change history for the SOAP::Lite
Perl module. New features are designated with a '+' and bug fixes with
a '!'.
Numbers in square brackets are sourceforge tracker IDs from
https://sourceforge.net/tracker/?group_id=66000&atid=513017
Numbers with # are CPANRT tracker IDs from
http://rt.cpan.org/Public/Dist/Display.html?Name=SOAP-Lite
-----------------------------------------------------------------------
THIS RELEASE
-----------------------------------------------------------------------
1.11 February 21, 2014
! #93080 bug when SOAP::Lite is trying to parse WSDL definition by https with custom settings
1.10 January 23, 2014
! Fixed uninitialized warning when Context-Length is not set [github/dbeusee]
! avoid string eval in as_base64 [github/otrosien]
! #88915 warnings issued with using importing with +trace
1.09 January 14, 2013
! #92025 tighten multipart content-type matching [dmn@debian.org]
1.08 November 8, 2013
! #15703 add no_index for examples to prevent CPAN pollution [githumb.com/sergeyromanov]
1.07 November 7, 2013
! #89948 Remove warning when Content-Id is not present
1.06 August 21, 2013
! #87935 skip all MIME-Parser tests if it is not installed
! #87787 Use of uninitialized value $ns in Lite.pm
1.05 August 18, 2013
! #87848 Fix manifest, fix invalid http version from release blunder
1.04 August 9, 2013
! #87605 Skip XML::Parser::Lite tests if it is missing [github.com/omega]
1.03 August 4, 2013
! #87195 Remove DIME::Tools dep until we can work around its issues
1.02 July 30, 2013
! #87421 1.01 release blew out xml versions. mea culpa.
1.01 July 29, 2013
! #84168 Test t/02-payload.t fails under Perl 5.17.10
! #87127 TEST.pl removed from MANIFEST
! revert #85713 - various reports of environment failures
1.0 July 16, 2013
! #85713 SOAP::Transport::HTTP, 500 error skips parsing of response
! No more Windows 98 client support. Wait, wut?
! Merge SOAP::Transport::TCP back into SOAP::Lite (for now)
! #82416: xop href cid: URI encoded support reported by Michael R. Davis (mrdvt92)
! #85208 bad test plan
! #83750 different headers for mod_perl vs mod_perl2 [Mithun Bhattacharya]
0.716 May 10, 2013
! #17275 Client unable to detect fatal SOAP failure (e.g. unable to connect to host)
! #81471 Force array context for correct Apache header parsing in SOAP::Transport::HTTP
! #45611 deserializing SOAP message with composite attachment raises exception
! #84168 Test t/02-payload.t fails under Perl 5.17.10
! #85098 Monkey patch for LWP::Protocol confuses the toolchain
! #78692 / #84724 / #83715 Sending large object (many levels deep) throws error Incorrect parameter
! #78502 t/08-schema.t noisy under 5.17.2 (unescaped left brace in regex is deprecated)
! #78608 Documentation for "+trace"
! #78639 Spelling error reported by Debian tools
0.715
! #75938 Change to warning / add configuration variable to allow XML tags starting with /xml/i
! #76902 Missing info in "SSL CERTIFICATE AUTHENTICATION" documentation
! #74577 work around/fixes for success with MS WS https/compressed
! #74308 SOAP-Lite fails for operations with period in name
! #73802 client did not set the encoding of the soap-envelope to 'iso-8859-1' in HTTP-request
! #75019 HTTP server doesn't process PIPE signal
! #72836 Processing a SOAP 1.2 request breaks the next SOAP 1.1 response
! #70381 SOAP-Lite performance
! #53375 comments after
! #63693 Uninitalized value (again)
! #37360 Use of uninitialized variables in SOAP tests
! fixed encoding in xmlrpc keys
! #15176 problems with SOAP::Header ->value
0.714
Moved SOAP::Transport::TCP into SOAP-Transport-TPC distribution
! #70329 - not generating attributes properly (deleting id attribute)
0.713
! #52637 error sending a request in perl 5.10.0 containing utf-8 data using the string data type
! #48775 Small bug in SOAP::Packager
! #51178 Emailing: SOAP-Lite-0.710.10.patch
! #55962 Spelling errors
! #52015 defined(%hash) deprecated in Perl 5.11
! #63693 Uninitalized value
! #65655 Assignment of shift to list
! #58538 regression from 0.710.08 soap:Client,Application failed during request deserialization
! #64250 Bleadperl v5.13.7-297-g558b442 breaks SOAP::Lite 0.712
! #68088 XML::Parser::Lite fails tests under perl 5.14 RC1
! #69825 Bug in SOAP/Lite/Deserializer/XMLSchemaSOAP1_2.pm
0.712
! #57409 SOAP::Lite installation problem
! #52015 defined(%hash) deprecated in Perl 5.11
! #39546 use of version.pm
! #52637 error sending a request in perl 5.10.0 containing utf-8 data using the string data type
! #55962 Spelling errors
0.712
SOAP::Transport::JABBER, SOAP::Transport::MQ and SOAP::Tranport::FTP
are now in their own distributions.
! [2790747] Bugtracker specification in META.yml missing
! #45997: Inconsistency in SOAP::Serializer documentation
! #55618: HTTP_TRANSFER_ENCODING can be undefined in SOAP/Transpo
! [2946245] / #54106 Only last Cookie Set
! #50178: Win32 isuue with IO::SessionData and IO::SessionSet
! #41527: SOAP::Lite 0.69 with Apache2 HTTP Server module and mod_perl 2
returns 500 Internal
0.710.10
! #49981: UDDI::Lite version not parsable by cpanplus (again)
0.710.09
! #46444: use SOAP::Lite::Deserializer::XMLSchemaSOAP1_2 missing
! #37151: Strawberry perl 5.10 - Tests fail and then later hang
! #49981: UDDI::Lite version not parsable by cpanplus
! #49011: Fails to install under strawberry perl
! [2825166] In Constant DEFAULT_HTTP_CONTENT_TYPE
! [2832939] chunked client requests are returned 411(Length Required)
! [2860559] serious utf8 bug
! #44568 Tracing unavailable when SOAP::Lite is used as a server
! #44195 submitting patches / mention Nginx transport module in documentation
! [2777361] SOAP 1.2 Content-Type rejected
! #41937 ([patch] enable more tests)
! #39101: Apache2::Const::HTTP_BAD_REQUEST not defined
! #39672: serialization and autotype 'off'
! #41348: t/SOAP/Transport/HTTP/CGI.t failing on 5.6.x
! #20569: XMLRPC::Lite "wrong element 'nil'" exception on ''
+ require Task::Weaken
+ better META.yml generated (Alexandr Ciornii)
0.710.08 - Jul 13 2008
! [ 2015071 ] HTTP header is no more accessible
The HTTP header can be pre-filled again. Now, the HTTP header is cloned
from a (possibly user defined) header for every request
! #37358: Test Failure in Strawberry perl - IO::SessionData
! #37359: Test Failure in Strawberry perl - IO::SessionSet
! [ 2005296 ] CPANTS says META.yml broken
! [ 2005288 ] CPANTS: has_humanreadable_license not ok
! #37040: Memory leak when calling WS using wsdl
SOAP::Transport::HTTP->new() was leaking two scalars per call
0.710.07
! [ 1963995 ] > not deserialized in result
! [ 1833218 ] < and > not deserialized in faultstring/detail
! [ 1959329 ] Incorrect Content-Type while sending requests with no parts
! [ 1945385 ] Incorrect starting part detection for Multipart/Related
0.710.06
! #36477 SOAP::Lite Envelope not stripped down for XMLRPC
! #36455 XMLRPC::Transport::HTTP::CGI generates extra params
0.710.05
! got version number right, finally. Thanks to Graham Barr,
Andreas J. Koenig and Matt S Trout (in alphabetical order) for support
0.071.04
! updated version number and fixed declaring version, so that perl 5.6.2
can parse it, too
! fixed memory leaks with XMLRPC::Lite
v0.71.03
! #35041: SOAP::Lite Passes Decoded Strings to LWP
! #35133: Version Unparsable by ExtUtils::MakeMaker
! #33973: KeepAlive fails to function
! #33773: redefined warnings
! #34514: Subclasses of XMLRPC::Serializer misbehave because of a "ref" call in SOAP::Lite
(actually fixed in 0.71.01, but I forgot to add it to Changes)
0.71.02
! [1942233] Memory leak in 0.69 && 0.71
0.71.01
! #34515: Printing UTF-8 through SOAP::Transport::HTTP throws a warning
! Version numbers updated
! [1904955] Subclassing XMLRPC::Serializer broken
0.71 Feb 2008
- bumped up version. Just curious about commit e-mail.
0.70_08 Feb 25 2008
- bumped up version - accidentally uploaded a ppm to CPAN
0.70_07 Feb 25 2008
+ Added additional callbacks to XML::Parser::Lite and made it work under
(at least) perl5.6.2, 5.8.7, 5.8.8 and 5.10.
Thanks to Adam Leggett.
! Fixes failing test on 5.10. The mechanism for determining whether
a class is loaded in SOAP::Server has been changed to the following:
Assume loaded if
- the class is main
- the class implements the required method
- the corresponding module (file) exists in %INC
This is still error prone - if you know a better algorithm, please help me
out.
0.70_06 Feb 16 2008
! Fixes failing test without FCGI installed
0.70_05 Feb 13 2008
! Fixes #32971 Undefined subroutine &Apache::Constant::BAD_REQUEST called
! Fixes [ 1867264 ] [PATCH] handle empty complexTypes correctly
! Fixes #32810: [PATCH] handle empty complexTypes correctly (duplicate)
! Fixes [ 1864481 ] XML::Parser::Lite documentation is incomplete
+ Fixes [ 747302 ] Make tainting work with XML::Parser::Lite
+ Fixes [ 1864480 ] Make XML::Parser::Lite's private subs private
! Fixes [ uncategorized ] bad XML::Parser::Lite behaviour under perl 5.8
0.70_04 Jan 02 2008
! Fixes #32008: Failed t/03-server.t tests 2-5 under Perl 5.10 on Mac OS X 10.3.9
! Fixes [ 1855575 ] "P" autotyped as xsd:duration
! Fixes [ 1842314 ] Expect: 100-Continue does not work with Apache::SOAP
! Fixes #13140 unable to use local file as WSDL service description file
Acually there is no bug, but just a missing comment in the examples...
0.70_03 Nov 18 2007
! Fixes [ 1816906 ] 7/06_modules.t fails with Apache 1.27
! Fixes [ 1414914 ] longs are serialized into xsd:int by default
- ! Fixes [ 1833803 ] int numbers serialized as long
! Fixes #21113: sending xml files using SOAP::Transport::HTTP::CGI
(actually trapped a documentation error)
! Fixes #3677: Line > 1000 characters breaks perl parser
! Fixes #11797: SOAP::Transport::HTTP::CGI returns HTTP response headers terminated by "\n" instead of "\r\n"
! Fixed #24211: strings with leading zero mistreated as int
! Fixed #25668: cannot build SOAP::Lite with mod_perl 1.29
! Fixed #16897: SOAP::Lite 0.66 fails with UNIVERSAL::use
! Fixed #30741: SOAP::Transport::HTTP::Apache
0.70_02 Nov 08 2007
! Fixed [ 1828412 ] SOAP::Lite serializes faults with wrong element order,
thanks to Tom Fischer.
! Fixed [ 1073360 ] Failure to read() long requests under mod_perl (fixed
for mod_perl before thanks to JT Justman, now fixed for CGI, too).
! Fixed #30339: envelope subroutine() in XMLRPC/Lite.pm incorrectly
requires method parameter for a response envelope
! Fixed #26408: SOAP::Transport::HTTP needs to call extract_cookies when
dealing with a cookie jar
! Fixed #22730 test failure on bleedperl
! Fixed #30271 Don't give strings with utf8 flag set to
MIME::Base64::encode_base64().
! Fixed [ 1816907 ] t/01_core.t fails on 5.6.x
! Fixed #24810 missing prerequisite LWP::UserAgent
0.70_01 Oct 18 2007
+ Added LOOPBACK test transport backend.
+ Added more core tests
! Fixed #14052: 'use base' pragma no longer works for SOAP::Lite
! Fixed #27032: Some debugging-aid patches
! Fixed #22732: Documentation error for use_prefix()
! Fixed [ 1044270 ] Suppress type for array when autotyping off
! Fixed [ 1665916 ] encode_scalar needs "no strict 'refs'"?
! Fixed [ 1481017 ] Typo on CPAN's documentation
! Fixed [ 1750846 ] Error with ENV{EXPECT}
! Fixed [ 887015 ] Memory Leak
! Fixed [ 1700326 ] encode_data called incorrectly in envelope
! Fixed [ 1612405 ] Incorrect deserialization of arrays/vectors
! Fixed [ 1204279 ] Boolean serialization error and added test
! Fixed [ 1569418 ] anyURI Serialization problem
0.68 July 6 2006
! 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:
+ 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 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
-----------------------------------------------------------------------
PREVIOUS RELEASES
-----------------------------------------------------------------------
0.60 Mon Aug 18 12:10:27 2003
+ Merged SOAP::MIME into SOAP::Lite's core
+ Cleaned up the UI for the Makefile.PL script - it now detects and
indicated whether certain Perl modules have been detected. The
table displaying installation preferences has been substantially
cleaned up, the code is much more modular and relies on a simple
data structure representing potential module dependencies.
+ Made the Makefile.PL script iterative - meaning, the user will be
continually be presented with their preferences until they
explicity choose to accept them and continue (bug 747295)
+ Differentiate between xsd:int and xsd:long to fix interoperability
bug with Java Web services
! Fixed MIME interoperability bug with Apache Axis - Axis' MIME
parser requires that MIME boundaries are terminiated by a CRLF
character where the MIME::Tools package only outputs a CR
character. A patch was integrated into the MIME::Tools module
which allows SOAP::Lite to specify its own MIME Boundary delimiter
! SOAP Faultcodes are now properly typed a xsd:QName, whereas
before they were xsd:string - to be honest, they are left untyped
so that toolkits can serialize them according to the schema
(bug 747283)
! Fixed documentation error around turning on a trace for multiple
"channels" (bug 747310)
! Disabled SOAPStruct (bug 747316)
! Fixed XML::Parser::Expat vulnerability (bug 747265)
! Added item in TROUBLESHOOTING section explaining that there is a
bug in Perl 5.8 that prevents +autodispatch from working properly.
The workaround is to use dispatch_from instead (bug 747290)
! Fixed warning when autodispatched call has no parameters
(bug 747286)
! Fixed warning when empty SOAPAction specified (bug 747278)
! Turned off HTTP keep alive patch by default, however users can now
turn on the patch by setting the constant PATCH_HTTP_KEEPALIVE to
1 (bug 747281)
! Removed dependency on the URI module for non-HTTP transports
(bug 747306)
0.55 Mon Apr 15 22:20:39 2002
! fixed security vulnerability with fully qualified method names
(thanks to Randal Schwartz, Ilya Martynov and many others)
! fixed problem with TCP transport and SSL (thanks to Chris Hurd)
! fixed TCP transport to specify correct length with utf8 strings
(thanks to Robin Fuller)
! fixed incorrect encoding when parameters list includes undefined
values (thanks to Chris Radcliff)
! updated 'xmlsoap' prefix (thanks to Pierre Denis)
! updated MIME parser to accept messages that start with 'From'
(thanks to Chris Davies)
+ added check for TCP transport on Mac (thanks to Robin Fuller)
+ added check for shutdown() method on AIX (thanks to Jos Clijmans)
+ added check for blocking() method in TCP transport
(thanks to Jos Clijmans)
+ optimized parsing strings with entity encoding (thanks to Mathieu
Longtin)
+ added check for entity size for CGI transport
($SOAP::Constant::MAX_CONTENT_SIZE) (thanks to J. Klunder)
+ added example (google.pl)
+ updated tests and examples with new endpoints
0.52 Mon Oct 18 21:20:19 2001
! fixed content_type returned under mod_perl with 500 SERVER ERROR
status (thanks to Geoffrey Young and Scott Hutton)
! fixed problem with multiple bindings in WSDL file generated by
MS SOAP toolkit
! fixed handling of boolean type in 1999 Schema and hexBinary type
in 2001 Schema
! fixed warning and problem with WOULDBLOCK state in IO::SessionData
(thanks to Marty Pauley)
! fixed miscalculation in position within sparse arrays
! fixed problem with URI when methods of SOAP::Data are called in
certain order (thanks to Taras Shkvarchuk)
! fixed CRLF problem in CGI module on Windows platform under IIS
(thanks to Werner Ackerl)
! fixed hex and hexBinary datatypes generation
! fixed content-length calculation when payload has multibyte utf8
characters
! fixed problem with XMLRPC and nested packages with more than two
levels (thanks to Leonid Gernovski)
! fixed (again) memory leak in SOAP::Parser (thanks to Craig
Johnston)
+ updated Jabber interface for new format of 'use Net::Jabber ...'
does not work with Net::Jabber 1.022 and later
+ updated XMLRPC::Lite to not detect value as float for 'NaN' and
'INF' strings
+ updated XMLRPC::Lite to return 200OK on errors
+ updated XMLRPC do not specify charset in content-type
+ updated Makefile.PL to allow configuration from command line
(thanks to Dana Powers)
+ updated publishing API tests for UDDI server to call a new server
(GLUE)
+ changed close() to shutdown() in Daemon transport (thanks to Sean
Meisner)
+ added support for HTTP_proxy and HTTP_proxy_* in WSDL access
(thanks to Stephen Shortland)
+ added XMLRPC support in COM interface. XMLRPC client and server
can be created using COM interface
+ added DO_NOT_PROCESS_XML_IN_MIME option for MIME parts with
text/xml content type
+ modified deserialization algorithm that allows to properly
deserialize SOAP1.2 messages when default is set to SOAP1.1 and
vice versa
+ added fault in XMLRPC::Lite for incorrect datatypes specified by
user (thanks to Paul Prescod)
+ added option to not generate XML declaration
+ added encoding for ']]>' (thanks to Matt Sergeant and James
Amrhein)
+ added '\r' => '
' conversion in strings
+ added complaint on incorrect simple types
+ added byNameOrOrder and byName functions for
SOAP::Server::Parameters (thanks to Matt Stum)
+ added handling relative locations in in WSDL
+ added stringification of SOAP::Fault (thanks to Tim Jenness)
+ added documentation for SSL certificate authentication
+ added more examples (terraserver.pl, joke.pl, weblog.pl)
+ added more tests
0.51 Tue Jul 18 15:15:14 2001
! fixed memory leak in SOAP::Parser (thanks to Ryan Adams and Michael
Brown)
! fixed skipping undef elements in arrays under Perl 5.005 (thanks to
Arne Georg Gleditsch)
! fixed warning from undefined type in out parameters (thanks to
Jrg Ziefle)
! fixed autovivification warnings on 5.7.x (thanks to Igor Pechersky)
! fixed tests on 64bit systems (thanks to Gurusamy Sarathy)
! fixed installation problem with long filenames on MacOS (thanks to
Alex Harper)
! fixed POP3 server (thanks to Kevin Hutchinson)
! number of fixes in XMLRPC::Lite
o fixed requirement (thanks to Matthew Krenzer and Dana
Powers)
o fixed empty slot skipping (thanks to Jon Udell)
o fixed serialization of "0"/""/undef values (thanks to Michael E.
Gage)
o fixed autodispatch (thanks to Craig Kelley)
+ added support for SOAP 1.2 (spec is still in draft, implementation
is subject to change)
+ added extended array support (only in deserializer)
sparse arrays
multidimensional arrays (deserialized as array of arrays)
partially transmitted arrays
+ modified XML::Parser::Lite to work on Perl 5.005 (thanks to John
Gotts)
fixed handling empty attributes as undef
fixed minors (thanks to Duncan Cameron)
+ modified deserializer to work with different schemas (1999/2001)
+ added JABBER transport
+ added MQ transport
+ added mod_xmlrpc transport (Apache::XMLRPC::Lite)
+ added TCP over SSL transport
+ added non-blocking TCP multiserver
+ included FastCGI transport (thanks to Marko Asplund)
+ added support for APOP authentication in POP3 transport
+ added Encoding parameter for MAILTO transport (to choose
base64/binary)
+ added 'autoresult' option (thanks to Mathieu Longtin)
+ added support for import directive in WSDL
+ added support for short (tModel) WSDL service descriptions
+ added support for multiple services/ports and allowed non-SOAP
bindings in WSDL
+ added full search example UDDI->WSDL->SOAP (fullsearch.pl)
+ added charset in response message for HTTP transport
+ modified SOAPsh/XMLRPCsh to return all parameters (thanks to Chris
Davies)
+ modified dispatch for XMLRPC server to work exactly as for SOAP
server examples included in examples/XMLRPC directory
+ added example with Inline::C module (inline.daemon).
Dispatch to C, C++, assembler, Java, Python and Tcl :).
Thanks to Brian Ingerson for his Inline module.
+ all transport are available for both SOAP::Lite and XMLRPC::Lite:
HTTP (daemon, CGI, mod_perl), SMTP/POP3, TCP, IO, JABBER, MQ
+ updated INCOMPATIBILITY section in README file
+ tested on Perl 5.00503, 5.6.0, 5.6.1, 5.7.1 and 5.7.2
+ added SOAP Cookbook (http://cookbook.soaplite.com/)
+ added server scripts for MQ and JABBER transports
+ added roundtrip example for JABBER transport
+ updated documentation and added new examples
+ added more tests (more than 700 for now)
0.50 Wed Apr 18 11:45:14 2001
! fixed tests on Windows platform
! fixed authInfo in UDDI publishing interface
! fixed mod_soap (Apache::SOAP) on Perl 5.005/5.004
! fixed namespace prefix on arrays of arrays
! modified Content-encoding from 'compress' to 'deflate'
+ added XML::Parser::Lite, regexp-based XML parser
used automatically when XML::Parser is not available
+ added examples of custom serialization and deserialization
(XML::DOM)
+ added XMLRPC::Lite (XMLRPC client and server interface)
all transports and features of SOAP::Lite should be available
+ added XMLRPC interactive shell (XMLRPCsh.pl)
+ added dispatching based on URI and SOAPAction (dispatch_with)
+ added dispatching to object (in addition to class/method)
+ added dispatch from specific class(es) (dispatch_from)
+ added limited support for mustUnderstand and actor attributes
+ added SOAP::Fault class for customization of returning Fault
message
+ added charset in HTTP header for requests
+ added check for namespace and types resolving
+ added namespaces declarations from WSDL interface
+ added INCOMPATIBILITY section in README file
+ added live tests/examples for UDDI publishing interface
+ added live tests/examples for basic authentication
+ added XMLRPC server code that validates with Userland's validator
+ added more examples, tests and documentation
0.47 Wed Feb 21 17:11:12 2001
! fixed lack of parameter in MAILTO transport
! fixed minimal version of COM interface to not require absent
modules
+ added compression for HTTP transport
+ added mod_soap interface, add SOAP server functionality
with couple of lines in .htaccess or httpd.conf file
+ added proper serialization of circular multiple references
+ significantly redesigned handling types and URIs
! incompatibilities with ApacheSOAP clients may occur
+ added handling PIPE and INT signals in Daemon server implementation
+ changed return from autodispatched calls:
result() in scalar context and paramsall() in list context
+ redesigned tests and split on core and optional for smooth CPAN
installation
+ added examples for cookie-based authorization
+ added examples in C# and PerlScript for COM interface
+ added more documentation for COM interface
+ updated documentation and added new examples
0.46 Wed Jan 31 16:30:24 2001
! fixed SOAP:: prefix with SOAP::Lite objects
! fixed documentation installation on Unix
! changed interface of schema() method. Use service() instead
+ added COM interface
single dll (standalone or minimal version, downloadable separately)
doesn't require ROPE.dll, MSXML.dll or listener.asp
tested on Windows 98/2K, and should work on Windows 9x/Me/NT/2K
ASP and daemon server implementations
examples in VB/VBS, Excel/VBA, JavaScript, Perl and ASP
+ added parsing multipart/form-data
SOAP server can accept SOAP requests directly from web form
examples are provided (examples/forms/*)
+ added Map type for hash encoding. Tested with ApacheSOAP
+ added function that maps classes to URI (maptype)
+ allowed multiple ports in WSDL
+ tested object interoperability with Apache SOAP
+ optimized internal functions
0.45 Tue Jan 16 00:38:04 2001
! fixed interoperability problem with incorrect Array prefix for
Apache SOAP
+ added interoperability tests for Apache SOAP
+ added interoperability tests with MS SOAP, 4s4c and Lucin
implementations
+ added attachment parsing (singlepart/multipart MIME)
Content-ID and Content-Location are supported
text/xml fragments are supported and parsed
all implementations support MIME encoded messages
+ added IO server implementation (for pipes, mail handlers, FTP and
file processing)
+ added FTP client implementation
+ added global settings, shareable between objects
+ allowed empty URI and non-prefixed method (documentation included)
+ added tests for xml, xml with headers, single and multipart MIME
+ updated documentation and added examples
+ more that 300 tests in test suite
0.44 Tue Dec 12 23:52:12 2000
! fixed mod_perl server to return '500 Server Error' in case of error
! fixed CGI server to work under PerlIS and PerlEx (thanks to Murray
Nesbitt)
+ tested publishing API for UDDI::Lite, examples provided
(thanks to Petr Janata for access to UDDI server and provided help)
+ added bi-directional TCP client/server, examples and tests provided
+ enabled de/serializer overloading on server side (in addition to
client)
+ added optimization for objects-by-reference
+ added ForkingDaemon server implementation (thanks to Peter
Fraenkel)
+ added SOAP::Custom::XML for XML processing, examples and tests
provided
+ added SOAP::Test as simple test framework
+ added documentation for UDDI publishing API
+ redesigned examples and tests (~240 tests for now)
0.43 Tue Nov 28 01:47:02 2000
! fixed bug in UDDI interface that made UDDI client almost useless
! fixed Makefile.PL
! tests confirmed that memory leak is gone
+ changed syntax for UDDI client to more flexible/convenient
+ added limited support for WSDL schemas. Dynamic and stub access
supported
+ added script for stub generation (stubmaker.pl)
+ optimized code on server side
+ object interface for SOAP, UDDI and schemas are supported
consistently
+ allowed manipulation of method's attributes and namespaces
+ added attributes encoding ('&', '<' and '"' are encoded)
+ updated documentation
(thanks to Robert Barta who basically did this work)
+ added more examples and tests (154 for now)
0.42 Tue Nov 14 23:14:18 2000
+ added UDDI client (UDDI::Lite) with documentation
+ added M-POST functionality in HTTP::Client
+ added redirect (3??) functionality in HTTP::Client
+ added session cache for M-POSTs and redirects
+ added conversion of all objects to o-b-r in parameters
+ changed passing envelope into method
+ allowed \x0d and \x0a in strings (will not do base64 encode)
+ added die with object that allows to specify complex Fault detail
+ optimized XML encoding
+ allowed function call with autodispatch
+ improved syntax for 'use SOAP::Lite'
+ added soap.tcp example for TCP server implementation
+ added tests with Microsoft implementation
+ added documentation and tests (145 for now)
0.41 Tue Oct 31 01:24:51 2000
! fixed memory leak on server side
! fixed die on absence of HTTP::* modules on server side
! fixed working with keep-alive connections (added test with
Xmethods)
+ changed autotyping from double to float
+ added support for proxy authorization (thanks to Murray Nesbitt)
+ added TCP client/server implementation
+ added benchmark for all implementations except smtp/pop3
+ added SOAP::Trace for detail logging on client/server side
+ added examples/tests for Apache::Registry implementations
+ added more examples, documentation and tests (127 for now)
0.40 Sun Oct 15 18:20:55 2000
! fixed die in mailto: protocol if you don't have URI::URL installed
! fixed misbehavior on Mac platform (thanks to Carl K. Cunningham)
+ added default namespace processing [xmlns] (thanks to Petr Janata)
+ added objects-by-reference, simple garbage collection and
activation
+ added full access to envelope on server side
+ added versionMismatch reaction
+ added local: protocol for local binding without any transport
+ added examples for objects-by-reference: persistent/session
iterators and chat (40 lines on server and 25 lines on client side)
0.39 Sun Oct 8 22:55:20 2000
! fixed incompatibility with Perl 5.005
+ added interactive Makefile.PL for CPAN installation
0.38 Thu Oct 5 22:06:20 2000
! fixed namespace for base64 encoding
! fixed security problem on server side, upgrade is highly
recommended
+ added HTTPS/SSL support
+ added SMTP client implementation
+ added POP3 server implementation
+ added support for Basic/Digest server authentication
+ added support for header(s) on client/server side with SOAP::Header
+ added Array and SOAPStruct for interoperability with ApacheSOAP
+ added generic class for server support SOAP::Server
+ added Actor attribute
+ added more examples, documentation and tests (88 for now)
0.36 Sun Sep 24 20:12:10 2000
! fixed output parameters autobinding
+ added mod_perl server implementation
+ added recognizing all simple types mentioned in specification
+ added support for 'hex' type
+ added more documentation (twice as much as before)
+ added more tests (74 for now)
0.35 Sun Sep 17 23:57:10 2000
! fixed minors (Response instead of Respond, server will map client's
URI)
+ cleaned HTTP::Server internals (will go to SOAP::Server in the
future)
+ test.pl won't abort on transport errors. Failed test will be
skipped
+ added daemon server implementation
+ added cgi/daemon server implementation examples
+ added deserialization into blessed reference
+ added dynamic/static class/method binding
+ added output parameters matching based on signature (name/type)
+ added real object transferring back and forth (see example of
Chatbot::Eliza, fixed for CODE references)
+ added more interoperability with on_action on client and server
side
+ added new events (on_action, on_fault, on_nonserialized)
+ added global class settings with 'use SOAP::Lite ...'
+ added code for returning application errors on server
+ added autodispatch
+ added SOAP prefix to method calls
+ added more documentation
+ added more tests (54 for now)
+ added more examples (Chatbot::Eliza, My::PingPong)
0.32 Sun Sep 10 23:27:10 2000
! fixed warnings with -w
! fixed blessed reference serialization. Assigned type has top
priority
+ added working with current node in SOAP::SOM
+ SOAP::SOM::valueof returns nodeset
+ SOAP::SOM::match returns boolean in boolean context
+ added raw xml accepting and output
+ added UserAgent parameters to SOAP::Transport (understands timeout)
+ added better diagnostic on transport errors in test.pl
+ added 'method', 'fault', 'freeform' types of Envelope
+ added server implementation
+ added CGI interface to server implementation
+ added My::Examples.pm as example of loaded class for SOAP server
+ added more tests (47 for now)
0.31 Wed Sep 6 00:36:15 2000
+ added expressions to SOAP::SOM->match method
+ added deserialization of circular references
+ added tests for deserialization
+ added documentation
0.3 Mon Sep 4 00:59:04 2000
+ first public beta version
+ added live SOAP calls
+ added test suite (25 tests)
+ added documentation
+ added interactive shell (SOAPsh.pl)
0.2 Mon Aug 24 19:34:24 2000
- next stable version; works with public test servers
0.1 Mon Aug 11 23:12:02 2000
- first version; serialization part only