The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
MIGRATING
---------
MIGRATING FROM PRE-2.00_33
--------------------------
The handling of stringification of SOAP::WSDL::XSD simpleType objects with
undef values changed in 2.00_33.

While 2.00_32 and before returned undef on stringification of a undef value,
>=2.00_33 now returns an empty string.

This is due to common usage in templates or the like, where undef is likely
to produce a warning, and the unreliable behavior of
 $obj eq undef
which behaves differently in different versions of perl.


MIGRATING FROM PRE-2.00_29
--------------------------
SOAP::WSDL 2.00_29 added experimental XML attribute support. The attribute
support changed the code of the generated classes, which may now
require the class SOAP::WSDL::XSD::Typelib::Attribute introduced in the same
pre-release.

While interfaces generated with pre-releases back to 2.00_25 work without
change, this does not hold true vice versa: Interfaces generated with
2.00_29 and above won't work with older pre-releases.

You'll have to update SOAP::WSDL on all your machines.

MIGRATING FROM PRE-2.00_24
--------------------------

This section describes how to migrate from 2.00_24 and before versions to
2.00_25.

Migrating from 2.00_xx
----------------------

Background

SOAP::WSDL 2.00_xx has used Class::Std as base for its inside out objects
up to 2.00_24. For performance reasons, now Class::Std::Fast is used.
As Class::Std::Fast is a drop-in replacement for Class::Std, there should be
no need to change anything in your (handwritten) code.

Generated interfaces

SOAP::WSDL's internal structure has changed, and this change needs to
be reflected in all generated classes.

This means you have to re-generate your interfaces (in case you use generated
interfaces)

Typemaps

SOAP::WSDL now tries to load all typemap classes at once from 2.00_25 on.

If you use __SKIP__ in your typemaps, you'll have to comment out all
paths deeper than the path marked with __SKIP__ - if you don't, SOAP::WSDL
will try to load all correspondent classes.

Migrating from 1.xx
-------------------

Background

SOAP::WSDL uses a custom WSDL parser and serializer. It does not rely on XPath
for on the fly WSDL processing, nor does it use SOAP::Data objects for
encoding any more.

You should be able to use your existing code under most circumstances.
SOAP::WSDL is the compatibility module for old interfaces.

Overloading

Message overloading (as introduced in 1.23) is not supported any more.

Message overloading is prohibited by the WS-I basic profile, therefore
SOAP::WSDL does not implement it any more.