Release notes for SOAP::WSDL 2.00_16 ------- I'm proud to present a new pre-release version 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 * SOAP::Lite like look and feel o Where possible, SOAP::WSDL mimics SOAP::Lite's API to allow easy migrations * XML schema based class library for creating data objects * High-performance XML 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::Serializer The following changes have been made: 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 creats 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).