Changes from release notes:
* fixed a bug where the URI path was not respected when
resolving SOAP calls
* implemented supoprt for handling SOAP faults based on
the exception err string (must correspond to the fault name)
* implemented supoprt for handling SOAP faults in response
messages with SOAP bindings
* fixed a bug resolving namespaces in nested schemas with
late resolution with overlapping namespace prefixes
* fixed a type error in message generation
* implemented the wsdl_set_global_compat_empty_string_is_nothing()
function and the "compat_empty_string_is_nothing" option for
the WebService class for backwards compatibility with older
versions of the WSDL module
* implemented the wsdl_set_global_compat_allow_any_header
function and the "compat_allow_any_header" option for the
WebService class for backwards compatibility with older
versions of the WSDL module
* fixed types when deserializing to eliminate performance
penalties stripping types in large data structures
* fixed soaputil to import XSDs automatically when parsing WSDLs
* fixed a bug in make_xml() to support underscores at start of tags
* added the InputStreamSaxIterator class
* added the get_xml_value() function
* exception raised when make_xml() called with multi list
value passed for top level element
* added support for XML comments (XPF_ADD_COMMENTS)
* added missing support for DTD validation
(parse_xml_with_dtd(),XmlDoc::validateDtd())
* added support for stripping namespace prefixes on element
names when parsing XML
* added a make_xml(hash, hash) variant that allows for more
control over the XML output such as date serialization formats
* added AbstractXmlIoInputCallback to provide an abstract API
for resolving external schema references
* extended XmlDoc::constructor with extra optional hash that
allows for more control over the XML output such as date
serialization formats
* XSD-ERROR exception thrown during document validation against
schema is now more verbose about what exactly failed
* fixed a bug in Windows builds
* added the SalesforceSoapConnection class
* added support for logging messages in the SoapClient module
* added the SoapConnection class
* added API support for specifying the SOAP bindings in the WSDL
to use
* added support for logging messages in the SoapHandler module
* fixed a bug in late resolution of complexTypes
* fixed a bug handling empty complexType declarations
* fixed a bug handling complexType extentions
* fixed bugs handling elementFormDefault="qualified"
declarations when the value differs between schemas
* fixed a bug where xsi:type information was serialized when
not necessary
* added a more user-friendly exception when WSDLs are encountered
with unsupported bindings
* added WSDL::WSMessageHelper to generate sample messages
* added support for multiple SOAP bindings in the WSDL
including HTTP GET/POST bindings
* fixed a bug in message serialization; all required elements
must be present or an exception is thrown
* fixed a bug handling base type extensions to complexTypes
* improved argument error messages with RPC calls in the
XmlRpcHandler module
* fixed SOAP handler to produce correct URLs in WSDL
* added documentation for the WSOperation class in the WSDL module
* fixed SalesforceSoapClient::callOperation() in the
SalesforceSoapClient module to respect the soapaction header
* fixed a memory leak in XML-RPC parsing
* supress emitting a SOAPAction header in requests if the binding
gives an empty string
* updated WSOperation::serializeRequest() to allow the SOAPAction
header to be overridden in each request
* respect XML generation flags in request generation in WSDL module
* fixed parsing empty base64Binary and hexBinary elements
* added the SoapClient::callOperation() method
* updated SOAP response processing to throw an exception when the
server responds with an error code
* content-type in exceptional cases follows Soap version
* fixed a bug in the SoapClient::constructor() where a WebService
object was not supported
* added SalesforceSoapClient user module
* added Salesforce.com.qtest and accompanying WSDLs