Release notes for SOAP::WSDL 2.00.10 ------- I'm proud to present a new release of SOAP::WSDL. SOAP::WSDL is a toolkit for creating WSDL-based SOAP client interfaces in perl. Features: * WSDL based SOAP client o SOAP1.1 support o Supports document/literal message style/encoding * Code generator for generating WSDL-based interface classes o Generated code includes usage documentation for the web service interface * Easy-to use API o Automatically encodes perl data structures as message data o Automatically sets HTTP headers right o Datatypes provide hints on method names on calls to non-existant methods * Efficient documentation o SOAP::WSDL::Manual guides you at getting your work done, not at the module's internals * Examples in Perl and Java * Thorough test suite o SOAP::WSDL is heavily regression tested, with a test coverage of over 95% (excluding documentation - you wouldn't want to read through it all). * SOAP::Lite like look and feel o Where possible, SOAP::WSDL mimics SOAP::Lite's API to allow easy migration * XML schema based class library for creating data objects * High-performance SOAP Message parser * Plugin support. SOAP::WSDL can be extended through plugins in various aspects. The following plugins are supported: o Transport plugins via SOAP::WSDL::Factory::Transport o Serializer plugins via SOAP::WSDL::Factory::Serializer o Deserializer plugins via SOAP::WSDL::Factory::Deserializer The following changes have been made: 2.00.10 - May 15 2009 The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): The numbers with # are CPAN RT IDs (http://rt.cpan.org/). * #44546: XML Schema types with names cuase errors when including anonymous types SOAP::WSDL now handles element names with "." correctly * #45037 ComplexTypes' elements in different namespaces not serialized correctly SOAP::WSDL now serializes elements in different namespaces correctly * #43769 Fault11 serialization issue when passed Element for detail The detail fault element is now automatically wrapped into an appropriate detail object and serialized correctly. Note that passing a list as details content is not supported yet. * #43674 Fault not caught/propagated in SOAP::WSDL::Client::call Deserializer faults in SOAP::WSDL::Client now propagate correctly to the caller. The following uncategorized improvements have been made: * improved Java example: Commented test class * improved documentation: Added Cookbook entry for HTTP Negotiate Authentication (Kerberos). 2.00.09 - Feb 22 2009 The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): The numbers with # are CPAN RT IDs (http://rt.cpan.org/). * [ 2631555 ] Template used without version * [ 2631220 ] Faults generated with soap:Server actor 2.00.08 - Feb 22 2009 The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): The numbers with # are CPAN RT IDs (http://rt.cpan.org/). * [2628386] SOAP::WSDL::Generator::Visitor::Typelib still used in tests * #41453: Content-Type 'charset=...' not set in HTTP header Already fixed in 2.00.07 2.00.07 - Feb 21 2009 The following features were added (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924): * [ 2621474 ] Add Non-Perl examples / test client / Servers The distribution now includes a Java / Apache CXF example. * [ 2585274 ] Create a HTTP::Server::Simple based SOAP Server SOAP::WSDL now ships with a server class to use with HTTP::Server::Simple for testing purposes. See SOAP::WSDL::Server::Simple for details. * [ 1911232 ] Allow skipping unknown XML elements See SOAP::WSDL::Manual::Cookbook on how to use this feature * [ 2505421 ] include XML attributes in as_hash_ref ComplexTypes now include XML attributes in as_hash_ref's result under the special key "xmlattr". As a side effect, as_hash ref now works for ComplexType objects with a simpleContent content model, too (though the results may be misleading: Their value is included under the hash key "value", the only other possible hash key is "xmlattr"). * [ 1960062 ] Use POSIX::strftime for date conversion Not really a feature, but a little speedup. The Feature request is obsoleted by resorting to good old sprintf for date formatting. Speeds up set_value in date and dateTime Objects by around 30% for non- XML-formatted strings. As a side effect, dateTime now does not allow setting 0 as date. The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): The numbers with # are CPAN RT IDs (http://rt.cpan.org/). * [ 2621471 ] SOAP::WSDL::Server sends fault with invalid namespace prefix Faults now use the correct prefix. * [ 2560208 ] elementFormDefault always "qualified" SOAP::WSDL now respects the elementFormDefault attribute in embedded XML Schemas. * #42049: [PATCH] SOAP::WSDL uses default User-Agent SOAP::WSDL now announces itself as "SOAP::WSDL $VERSION" instead of "libwww/perl $VERSION" in HTTP requests. Note however, that this only applies for wsdl2perl, SOAP::WSDL and SOAP::WSDL::Transport::HTTP. SOAP::Transport HTTP (from the SOAP-Lite distribution) is not affected. * [ 2533903 ] Imported schema overwrites existing XML namespace/prefix map Importing a schema which defined the same XML namespace prefix as the importing schema, but with a different URI resulted in having the URI of the associated with the prefix from the imported schema set in the importing schema. * #42388 [PATCH] Disabling 'die' in Typemaps Duplicate of [1911232] Allow skipping unknown XML elements - see added features. * #42179 Problem deserializing SOAP messages that contain only a simpleType Now the top-level element may consist of a simpleType only, too. The following uncategorized improvements have been made: * Fixed a =back error in element POD generation * Improved test suite * Improved documentation * Improved TEST_COVERAGE to report coverage correctly 2.00.06 - Dec 03 2008 The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): The numbers with # are CPAN RT IDs (http://rt.cpan.org/). * #40658 wsdl2perl - prefix option The prefix option is now changed to behave more practical * #40802 wsdl2perl problems with special url The "fixed" attribute caused an error. * #40650 Deserialization on inherited types The inherited complexType variety (sequence/all/choice...) did not get propagated to derived complexTypes. Thus, derived complexTypes which did not add elements lost all inherited elements. * #40108 Test failure on Cygwin Fixes a test failure on Cygwin due to a malformed file:// URL * #40021 charset: utf-8 Removed duplicate charset in HTTP requests issued by SOAP::WSDL::Transport::HTTP. Replaced the utf8 by utf-8 in HTTP requests * #39715 Error with complexType extension base without child elements A rather subtle error caused by a wrong init value (undef) for the list of child elements in a complexType sequence. * [ 2005693 ] causes error * [ 2023797 ] type extensions not handled correctly ComplexType objects now test their elements with ->isa, not with ref * [ 2021755 ] Generating nested complexType extensions throws errors 2.00.05 - Jul 13 2008 The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): The numbers with # are CPAN RT IDs (http://rt.cpan.org/). * [ 2014482 ] Big-O memory hole when parsing WSDL SOAP::WSDL still leaks memory when using SOAP::Lite's transport backend This is to be fixed in 0.710.08 in SOAP::Lite * #36865 wsdl2perl.pl fails on Expat error Resolved by dropping a note for Solaris in README * [ 2005693 ] causes error The >fixed< attribute is now recognized (but has no effect yet) The following uncategorized improvements have been made: * added missing Class::Std::Storable::Fast import flags to SOAP::WSDL::XSD::Typelib::Builtin::IDREFS * some code cleanup 2.00.04 The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): The numbers with # are CPAN RT IDs (http://rt.cpan.org/). * [ 1972059 ] Can't set timeout via SOAP::WSDL * [ 1961409 ] Error with unqualified references in imported schema * #35873: SOAP::WSDL -- Can't locate object method "set_Action" via package "SOAP::WSDL::OpMessage" * [ 1969427 ] Mod_Perl.t broken when mod_perl is unavailable * #35610 Test fails when Test::Without::Module is installed The following uncategorized improvements have been made: * Changed the environment variable for author tests to "RELEASE_TESTING", as defined by the Oslo QA Hackathon 2008 (see http://perl-qa.hexten.net/wiki/index.php/Oslo_QA_Hackathon_2008_:Achievements) * Enhanced documentation * Fixed a wrong error message * Cleaned up test suite (removed duplicate tests) 2.00.03 - May 18 2008 The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): The numbers with # are CPAN RT IDs (http://rt.cpan.org/). * [ 1966575 ] 2.00.02 produced bad code with complexType extensions 2.00.02 - May 16 2008 The following features were added (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924): * [ 1941134 ] Server for mod_perl2. Thanks to Noah Robin for contributing. (I actually forgot to include it in 2.00.01) The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): The numbers with # are CPAN RT IDs (http://rt.cpan.org/). * [ 1963613 ] ComplexTypes die on ->can('FOOBAR'); * [ 1943667 ] Error parsing complexType/extension * [ 1960650 ] multi-level inheritance of complexTypes fails * [ 1960319 ] ComplexType as_hash_ref returns objects on maximum depth * [ 1943673 ] Relative schemaLocation="" URLs not resolved in * [ 1953598 ] Cannot set server and attribute prefixes with wsdl2perl * [ 1941080 ] 017_generator.t (test 2) fails with Template-Toolkit 2.15 * [ 1949209 ] spelling/grammar in Mod_Perl2.pm * [ 1950670 ] on_action removed in SOAP::WSDL >= 2.00 * #35346 element ref="" not handled properly The following uncategorized improvements have been made: 2.00.01 The following features were added (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924): * [ 1941134 ] Server for mod_perl2. Thanks to Noah Robin for contributing. The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): The numbers with # are CPAN RT IDs (http://rt.cpan.org/). * [ 1944368 ] SOAP/WSDL/XSD/Typelib/SimpleType.pm spelling * [ 1944367 ] SOAP/WSDL/XSD/Typelib/ComplexType.pm spelling * [ 1944364 ] SOAP/WSDL/XSD/Typelib/Builtin.pm spelling * [ 1944362 ] SOAP/WSDL/SOAP/Typelib/Fault11.pm spelling * [ 1944361 ] SOAP/WSDL/Generator/Visitor.pm spelling * [ 1944360 ] SOAP/WSDL/Generator/Iterator/WSDL11.pm spelling * [ 1944359 ] SOAP::WSDL::Factory::Transport spelling * [ 1944355 ] SOAP::WSDL::Deserializer::XSD.pm spelling Thanks to "nobody" for correcting these errors. * [ 1942576 ] SOAP/WSDL/Deserializer/SOM.pm spelling. * [ 1942568 ] SOAP/WSDL/Client.pm minor spelling/grammar/style cleanup. * [ 1942562 ] WSDL.pm spelling corrections. Thanks to Noah Robin for providing patches for these errors. * #34642 booleans in WSDL attributes don't get converted to perl's representation (for now - not all attributes covered yet) * #34714: MessageParser misses character data in elements just below SOAP-ENV:Body * #34688: wsdl2perl.pl croaks when WSDL operation uses a header The following uncategorized improvements have been made: * Storable freeze/thaw speedup in conjunction with upcoming version of Class::Std::Fast * improved server doc generation * improved xsi:nil handling * serializing an attribute from http://www.w3.org/XML/1998/namespace now serializes it with xml: prefix. This should probably be moved into the generator, to avoid testing every attribute 2.00_33 - Mar 30 2008 The following features were added (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924): * [ 1925336 ] Create a Prefix Resolver Plugin Interface for Code Generator * [ 1898591 ] object stringify returns undef * [ 1906753 ] Hypens in MyTypes/* cause runtime syntax errors Hypens and dots in variable and method names are now replaced by _ The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): The numbers with # are CPAN RT IDs (http://rt.cpan.org/). * #33616: Bugs in the META.yml file * [ 1892895 ] Test failures on RHEL4 * [ 1844956 ] t/SOAP/WSDL/XSD/Typelib/Builtin/NMTOKENS fails test on OS X * #33376: HTTP Authentication (not implemented or not documented) The following uncategorized improvements have been made: * Some minor performance improvements have been made * The XSD generator now asserts the soap:operation style is "document" * and now import namespace declarations, too * The XSD generator now uses the relevant 's targetNamespace for finding operation messages, not the element's targetNamespace * Attribute handling has been improved so it could possibly work. Attributes from different namespaces are probably still broken. * Attribute ref handling has been added (though probably broken on ref cascades). * elements are now parsed, but have no effect yet. * elements are now parsed, but have no effect yet. 2.00_32 - Feb 14 2008 The following features were added (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924): The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): The numbers with # are CPAN RT IDs (http://rt.cpan.org/). * [ 1893147 ] Segfault on 2.0.0_31 The following uncategorized improvements have been made: * changed SOAP::WSDL::XSD::ComplexType's set_/get_flavor methods to set_/get_variety to reflect the XML standard more closely. get_flavor is retained for compatibility reasons. * added initial support for complexType/simpleContent definitions. Right now, only restriction derivations are supported. * fixed an error in the generator_test.wsdl 2.00_31 - Feb 11 2007 The following features were added (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924): * [ 1883843 ] Support wsdl:import * [ 1883863 ] Support xsd:import The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): The numbers with # are CPAN RT IDs (http://rt.cpan.org/). The following uncategorized improvements have been made: * The WSDL Parser now warns about unsupported WSDL / XML schema elements * Fixed path handling in t/006_client.t * Removed useless ms regex flag in SOAP::WSDL::Factory::Transport * The test suite has been improved 2.00_30 - unreleased The following features were added (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924): * [ 1875288 ] Support XML attributes (partial) The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): The numbers with # are CPAN RT IDs (http://rt.cpan.org/). * [ 1876435 ] Test on perl-5.10 fails * #32611 empty complexType structure classes are missing 'use Class::Std::Fast::Storable' The following uncategorized improvements have been made: * ComplexType objects now accept { foo => undef } in constructor and handle it as non-present child element foo. * Updated test suite * Updated SOAP::WSDL::Client::Base to correctly handle SOAP calls with no parameters (empty parts) * Test on perl-5.10 fails when SOAP::Lite is not installed 2.00_29 The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): The numbers with # are CPAN RT IDs (http://rt.cpan.org/). * #32188: minor bug found and fixed in WSDL generation * [ 1871175 ] Can't delete attributes from ComplexType objects The following uncategorized improvements have been made: * Updated SOAP::WSDL::Manual::XSD * Removed pod directives from templates to avoid confusing CPAN's pod viewer * Initial (incomplete) XML attribute support * Updated test suite 2.00_28 The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): The numbers with # are CPAN RT IDs (http://rt.cpan.org/). * #32062: minor doc fixes * [ 1852988 ] Generated Interface POD is invalid * [ 1855583 ] t/SOAP/WSDL/XSD/Typelib/ComplexType.t requires Test::Warn The following uncategorized improvements have been made: * Updated SOAP::WSDL::Manual::WS_I to reflect new Server modules 2.00_27 The following features were added (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924): * [ 1850793 ] Add a to_hash_ref method * [ 1844427 ] Support multiple parts in body The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): The numbers with # are CPAN RT IDs (http://rt.cpan.org/). * [ 1850795 ] attributes referencing types in default namespace throw * [ 1844458 ] Add warning when generating Interface with multiple parts * [ 1843841 ] Grammar/typos in Manual.pod * [ 1843799 ] ./Build test fails due to testcount mismatch not IO::Scalar * [ 1845077 ] Top level simpleType elements don't serialize correctly The following uncategorized improvements have been made: * Fixed serializing complexType elements with no elements to empty element * Enhanced test suite * Documentation improvements 2.00_26 The following features were added (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924): The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): The numbers with # are CPAN RT IDs (http://rt.cpan.org/). * [ 1843195 ] t/013_complexType.t still requires Class::Std::Storable * [ 1843590 ] Tests broken on Cygwin The following uncategorized improvements have been made: * Added examples * Added Content-length header to CGI output 2.00_25 --- WARNING: INCOMPATIBLE CHANGE: SOAP::WSDL now uses Class::Std::Fast. Read the MIGRATING guide for upgrading from previous versions. You probably need to re-generate all your interfaces. WARNING: INCOMPATIBLE CHANGE: SOAP::WSDL::XSD::Typelib::anySimpleType based objects no longer serialize to their XML value on stringification. This means that strings are no longer XML-escaped when the simpleType containing the string is printed or used like this: my $value = "$simpleType"; Note that ComplexType objects still serialize to their XML on stringification. This Change is due to the demands of applications embedding SOAP::WSDL::XSD::Typelib objects in templates - it would mean a nasty ->get_value for every (simple) value. The following features were added (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924): * [ 1837347 ] Use Class::Std::Fast Class::Std::Fast allows optimizations which almost double SOAP::WSDL's performance and reduce code size. Class::Std::Fast also opens the door for even faster XS implementations. * [ 1842436 ] Add SOAP Server The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): The numbers with # are CPAN RT IDs (http://rt.cpan.org/). * [ 1842418 ] Message parser eats up whitespaces between entities * [ 1839820 ] encoding parameter of Content-Type header set incorrectly * [ 1839851 ] token in UPPERCASE in default typemap * [ 1839690 ] Can't use two prefixes for namespace in WSDL * [ 1839833 ] incorrect encoding/decoding of double-quote The following uncategorized improvements have been made: * Errors in typemap generation have been fixed * XML parser speedups * The test suite has been improved 2.00_24 --- The following features were added (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924): * [ 1832998 ] Make interface methods complain when called as class method * [ 1826833 ] listify all XSD type objects when called as @{} The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): The numbers with # are CPAN RT IDs (http://rt.cpan.org/). * #30685: Error in MessageParser when using __SKIP__ in typemap * [ 1831398 ] Badd class names for atomic typed elements * [ 1828240 ] POD Defects * [ 1792348 ] 006_client.t requires SOAP::Lite (again) The following uncategorized improvements have been made: * The test suite has been improved * Documentation has been improved 2.00_23 --- The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): * [ 1826382 ] nillable elements not serialized as xsi:nil * [ 1826337 ] Second element in complexType gets eaten up * [ 1792348 ] 006_client.t requires SOAP::Lite (again) The following uncategorized improvements have been made: * Test for complexType containing element with atomic simpleType added 2.00_22 ---- The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): * [ 1817697 ] Dots in service/port names lead to broken interfaces * [ 1817699 ] Templates not found on all OS The following uncategorized improvements have been made: * Code cleanup. The XSD library has been cleaned up a bit. Should result in a minor speedup in serializing and deserializing XML messages, 2.00_21 - not released ---- The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): * [ 1810058 ] .tt's pod indexed on CPAN (again) * [ 1809284 ] Rename SOAP::WSDL::Deserializer::SOAP11 to ::XSD The following uncategorized improvements have been made: * Requires at least perl 5.8.0. This is due to a bug in perls before - see http://aspn.activestate.com/ASPN/Mail/Message/perl5-porters/929746 2.00_20 ---- The following features were added (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924): * [ 1815646 ] Only include last part of port name in interface * [ 1815648 ] Methods with empty body cannot be called as ->method() * [ 1815651 ] Empty complexType definitions not supported The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): * [ 1815643 ] ComplexTypes cannot be freezed/thawed The following uncategorized improvements have been made: * WSDL definitions are decoded into utf8 * fixed tests to use correct path on windows 2.00_19 ---- The following features were added (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924): * [ 1810395 ] Implement complexType complexContent extension The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): * [ 1813144 ] Typemap not used in interface class * [ 1810058 ] .tt's pod indexed on CPAN The following uncategorized improvements have been made: * Documentation improvements 2.00_18 ---- The following features were added (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924): * [ 1790983 ] Create generator Plugin API Generator factory is SOAP::WSDL::Factory::Generator The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): * [ 1805252 ] t/SOAP/WSDL/XSD/Typelib/Builtin/004_time.t fails The default timezone conversion has been fixed. The following uncategorized improvements have been made: * Documentation improvements * Test updates * readable() has been converted into a no-op, as it already had no effect any more 2.00_17 ---- The following features were added (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924): The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): * [ 1772617 ] SOAP Header not working Added header support. Currently, SOAP headers are only supported with the SOM or the XSD (SOAP11) serializer. * [ 1805238 ] Tests in t/SOAP/WSDL don't work when run from t/ * [ 1805241 ] explain() broken in SOAP::WSDL explain has been removed from SOAP::WSDL The following uncategorized improvements have been made: * Added limited support for complexType complexContent content model with restriction variety. SOAP::WSDL now supports this XML Schema definition variant, although no constraints are imposed on derived types yet. Derived types do not serialize with a xsi:type attribute (and the xsi:type attribute is not recognized by the XML parser), so you cannot use derived types as a substitute for theri parent, yet. * Added support for complexType choice variety complexType definitions using the choice variety are now supported, even though the content is not checked (if you pass in invalid data, invalid XML will be generated). * Added Loopback Transport backend. SOAP::WSDL::Tranport::Loopback just returns the request as respons, but allows testing the whole chain from user interface to transport backend. * Fixed SOAP::WSDL::Factory::Transport prefer user-registered transport backend * Fixed set_soap_version method in SOAP::WSDL::Client. Re-setting the SOAP version now invalidates (resets) serializer and deserializer, but not the transport backend. * Fixed SOAP::WSDL::XSD::Typelib::Builtin::boolean to return false when false and true when true. * SOAP::WSDL::XSD::Typelib::Builtin::normalizedString now replaces all occurences of tab, newline and carriage return by whitespce on set_value. * Code cleanup o Lots of orphan methods now replaced by the SOAP::WSDL::Generator hierarchy have been removed. o Unused (and unusable) readable option checking has been removed in SOAP::WSDL::Serializer::SOAP11. o Unused XML Schema facet attributes have been removed from XSD Builtin classes o Methods common to all expat parser classes have been factored out into a common base class. * XML serialization speedup for SOAP::WSDL::XSD::* objects * Tests added to improve test coverage. * A few documentation errors have been fixed * Misspelled default Typemap and Interface prefixes have been corrected 2.00_16 ---- The following features were added (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924): * [ 1761532 ] Support embedded atomic types SOAP::WSDL now supports a greater variety of XML Schema type definitions. Note that XML Schema support is still incomplete, though. * [ 1797943 ] Create Perl Hash Deserializer There's a new deserializer which outputs perl hashes as data structures. Much like XML::Simple, but faster. No XML Attribute support, though. * [ 1797678 ] Move Code generator from WSDL::Definitions to separate class * [ 1803330 ] Create one interface per port SOAP::WSDL now creates one interface per port, not one per service. The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): * [ 1804441 ] parts from binding not regarded in SOAP::WSDL SOAP::WSDL (interpreter mode) now respects the body parts specified in the binding. * [ 1803763 ] nonNegativeInteger misspelled in Schema::Builtin * [ 1793965 ] _expand() does not work on non-root-node ns declarations * [ 1792348 ] 006_client.t requires SOAP::Lite in 2.00_15 SOAP::WSDL no longer attempts to load SOAP::WSDL::Deserializer::SOM when no_dispatch is set. 006_client.t now sets outputxml(1), to be really sure. The following uncategorized improvements have been made: * Code generator only generates interface for the first port in a service The code generator now generates interfaces for all ports. Note: The naming scheme has changed. It is now InterfacePrefix::Service::Port * XML Parser speedup The XML parser has received a little speedup. * A number of errors in parsing / traversing WSDL documents have been corrected. * Documentation has been improved * A number of (incorrect, but passing) tests have been fixed. * Code cleanup: The SOAP::WSDL::SAX* modules are no longer included, as they are not supported any more. They can still be found in SOAP::WSDL's subversion repository in the attic directory, though. 2.00_15 ---- The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): * [ 1792321 ] 2.00_14 requires SOAP::Lite for passing tests 2.00_14 ---- The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): * [ 1792235 ] SOAP::WSDL::Transport::Test missing from 2.00_13 The package has been re-added * [ 1792221 ] class_resolver not set from ::Client in 2.00_13 Changed to set class_resolver correctly. The following uncategorized improvements have been made: * The ::SOM deserializer has been simplified to be just a subclass of SOAP::Deserializer from SOAP::Lite * Factories now emit more useful error messages when no class is registered for the protocol/soap_version requested * Documentation has been improved - refined ::Factory:: modules' documentation * Several tests have been added * XSD classes have been improved for testability 2.00_13 ---- The following features were added (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924): * [ 1790619 ] Test transport backend A test transport backend has been implemented (SOAP::WSDL::Transport::Test). It returns the contents from a file and discards the response. The filename is determined from the soap_action field. * [ 1785196 ] Replace outputsom(1) by deserializer plugin outputsom(1) in SOAP::WSDL is now implemented via using the deserializer plugin SOAP::WSDL::Deserializer::SOM. * [1785195] Support deserializer plugins Deserializer plugin API added via SOAP::WSDL::Factory::Deserializer. The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): * [1789581] Support ComplexType mixed WSDL parser now supports using the mixed="true" attribute in complexType definitions. Mixed content in messages is only supported via SOAP::SOM yet. * [1787975] 016_client_object.t fails due to testing XML as string Removed string test. * [1787959] Test wsdl seems to be broken Corrected typo. * [1787955] ::XSD::Typelib::date is broken SOAP::WSDL::XSD::Typelib::Builtin::date now converts time-zoned dates properly, and adds the local time zone if none is given. * [1785646] SOAPAction header not set from soap:operation soapAction SOAP::WSDL now sets the SOAPAction header correctly. The following uncategorized improvements have been made: * Documentation improvements 2.00_12 ---- The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): * [1787146] SOAP::WSDL still uses XML::LibXML The superficious usage of XML::LibXML has been removed. XML::LibXML with sax filter has been replaced by SOAP::WSDL::Expat::WSDLParser. * [1787054] Test suite requires XML::LibXML in 2.00_11 The test suite no longer requires XML::LibXML to pass. * [1785678] SOAP envelope not checked for namespace The SOAP envelope is now checked for the correct namespace. * [1786644] SOAP::WSDL::Manual - doc error Documentation improvements The following uncategorized improvements have been made * The SOAPAction header is now alway quoted (R1109 in WS-I BP 1.0). 2.00_11 ---- The following features were added (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924): * [1767963] Transport plugins via SOAP::WSDL::Factory::Transport. SOAP::WSDL uses SOAP::Lite's tranport modules as default, with a lightweight HTTP(S) transport plugin as fallback. Custom transport modules can be registered via SOAP::WSDL::Factory::Transport. * [ 1772730 ] Serializer plugins via SOAP::WSDL::Factory::Serializer The default serializer for SOAP1.1 is SOAP::WSDL::Serializer::SOAP11. Custom serializers classes can be registered via SOAP::WSDL::Factory::Serializer or set via SOAP::WSDL's set_serializer method. The following bugs have been fixed (the numbers in square brackets are the tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): * [ 1764854 ] Port WSDL parser to expat and remove XML::LibXML dependency SOAP::WSDL now requires only XML::Parser to be installed. XML::LibXML is not required any more, though XML::LibXML based modules still exist. The following uncategorized improvements have been made * The number of dependencies has been reduced. SOAP::WSDL no longer requires the following modules to be installed: - XML::SAX::Base - XML::SAX::ParserFactory - Pod::Simple::Text - XML::LibXML * The missing prerequisite Template has been added. * Documentation has been improved: - WS-I Compliance document added. 2.00_10 ---- * Changed Makefile.PL to use Module::Build (passthrough mode) * fixed element ref="" handling 2.00_09 ---- * SOAP::WSDL::XSD::Typelib::Builtin::boolean objects now return their numerical value in bool context, not "true" or "false" (always true...) * date/time test are now timezone-sensitive * examples added 2.00_08 --- * SOAP::WSDL::XSD::Typelib::ComplexType objects now check the class of their child objects. This provides early feedback to developers. * SOAP message parser can skip unwanted parts of the message to improve parsing speed - see SOAP::WSDL::Expat::MessageParser for details. * HTTP Content-Type is configurable * SOAP::WSDL::XSD::Typelib::ComplexType based objects accept any combination of hash refs, list refs and objects as parameter to set_value() and new(). * SOAP::WSDL::XSD::Typelib::Builtin::dateTime and ::date convert date strings into XML date strings * SOAP::WSDL::Definitions::create now - converts '.' in service names to '::' (.NET class separator to perl class separator) - outputs Typemaps and Interface classes in UTF8 to allow proper inclusion of UTF8 documentation from WSDL * SOAP::WSDL::Definitions::create() includes doc in generated interface classes * WSDLHandler now handles tags * fixed explain in SimpleType, ComplexType and Element 2.00_07 and below --- * Implemented a Code generator for creating SOAP interfaces based on WSDL definitions * Implemented a high-speed stream based SOAP message parser SOAP message parser returns a objects based on XML schema based class library * Implemented a XML schema based class library * Implemented a stream based WSDL parser. Parses WSDL into objects. Objects can serialize data, and explain how to use the service(s) they make up (output documentation).