2003-07-21, version 0.6.5 - soap_transport_http: SOAPAction header is quoted again, fixes problem w/ Weblogic Server - applied Jason Levitt patch for proper array serialization, fixes problem w/ Amazon shopping cart services - fixed null value serialization - applied patch from "BZC ToOn'S" - fixes wsdl serialization when no parameters - applied John's patch, implementing compression for the server 2003-07-22, version 0.6.5 - soap_server: fixed bug causing charset encoding not to be passed to the parser - soap_fault: added default encoding to the fault serialization - soap_parser: changed the parser to pre-load the parent's result array when processing scalar values. This increases parsing speed. 2003-07-23, version 0.6.5 - soap_base: fix code that overwrites user-supplied attributes in serialize_val - soap_base: use arrays-of-arrays rather than attempting multi-dimensional in serialize_val - xmlschema: emit import statements and qualify all elements with prefix in serializeSchema (better interop with validation tools) - soapclient: get xml character encoding from HTTP Content-Type header if provided, e.g. text/xml;charset="UTF-8" - soapclient: use headers in call if provided (previously ignored this parameter) - soap_server: in parse_request, if neither getallheaders nor $_SERVER are available, use $HTTP_SERVER_VARS to get SOAPAction and xml encoding 2003-07-24, version 0.6.5 - soap_transport_http: apply patch from Steven Brown "if the server closes connection prematurely, nusoap would spin trying to read data that isn't there" 2003-07-25, version 0.6.5 - wsdl: apply patch from Sven to workaround single schema limitation - wsdl: apply a variant of the patch from Holger to handle empty values for array by serializing an array with 0 elements - xmlschema: remove the redundant default namespace attribute on the schema element; everything in xsd is explicitly specified as being from xsd - soap_transport_http: fix setCredentials and add TODO comments in sendHTTPS about what to change if this setCredentials stays 2003-07-30, version 0.6.5 - nusoap_base: change documentation of soap_defencoding to specify it is the encoding for outgoing messages - nusoap_base: only change &, <, > to entities, not all HTML entities - soap_transport_http: update the Content-Type header in sendRequest, since soap_defencoding could be changed after ctor is called - soap_server: use soap_defencoding instead of charset_encoding - soap_server: read encoding from _SERVER if available - nusoap_base: do entity translation for string parameters with an xsd type specified (thanks David Derr) 2003-07-31, version 0.6.5 - soap_transport_http: add proxy authentication - soap_transport_http: build payload the same way for http and https - wsdl: add proxy authentication - soapclient: add proxy authentication - soapclient: allow proxy information in ctor, so that it can be used for wsdl 2003-08-01, version 0.6.5 - soap_transport_http: close a persistent connection that's at EOF - soap_transport_http: prevent conflicts between setEncoding and usePersistentConnection - soap_transport_http: fix use of $headers instead of $this->incoming_headers in getResponse - soapclient: improve handling of persistent connections - soapclient: force xml_encoding to upper case - soap_server: let the Web server decide whether to close the connection (no Connection: close header) - soap_server: force xml_encoding to upper case 2003-08-04, version 0.6.5 - soap_parser: use XML type information to pick a PHP data type; also decode base64 - soap_server: read all HTTP headers when using _SERVER or HTTP_SERVER_VARS - soap_server: add gzip encoding support for outgoing messages - soap_transport_http: deflate is gzcompress/gzuncompress (cf. http://archive.develooper.com/libwww@perl.org/msg04650.html) - soap_transport_http: clean use of persistentConnection so it's always a set boolean - soapclient: add responseData member to access deflated/gunzipped payload 2003-08-05, version 0.6.5 - soap_server: look multiple places when setting debug_flag 2003-08-07, version 0.6.5 - nusoap_base: serialize specified type (e.g. ArrayOfString) even for simple array - wsdl: only specify encodingStyle in the input/output soap bindings when it is not empty (thanks Guillaume) 2003-08-15, version 0.6.5 - soap_parser: fix parsing of elements with no XSD type specified - soap_parser: use PHP string type for XSD long and unsignedLong types 2003-08-16, version 0.6.5 - soap_parser: fix code generating warning (thanks Torsten) 2003-08-19, version 0.6.5 - soap_parser: fix another line of code generating a warning (thanks Torsten) 2003-08-22, version 0.6.5 - soap_server: remove all '--' from debug_str; previous code changed '---' to '- --' - wsdl, soapclient, soap_parser: patch submitted by Mark Spavin as described by the following... > Changes for the multiple/nested imports from the wsdl file. This builds an > array of files not just the last one and also checks for relative paths to > the parent. This will then get the imported files from the remote site > instead of your local disk. Local wsdl files should still work (untested). > > Changes for multiple encoding sytles as previously posted 2003-08-24, version 0.6.5 - wsdl, soapclient: fix some PHP notices from previous update 2003-08-26, version 0.6.5 - wsdl: support multiple SOAP ports - soapclient, soap_server: when no charset is specified, use UTF-8, even though HTTP specifies US-ASCII. - soap_transport_http: do not prepend $host with 'ssl://' for https (is this required for older cURL versions?) 2003-08-27, version 0.6.5 - soap_server: support compressed request messages (thanks John Huong) - soap_parser: deserialize Apache Vector as an array - xmlschema: use $this->typemap in getPHPType (which is not used) - soapclient, wsdl: check for WSDL errors after serializing parameters - nusoap_base: add serialization of Apache Map (when not using WSDL) - wsdl: add serialization of Apache Map (when using WSDL) - wsdl: only change &, <, > to entities, not all HTML entities 2003-08-28, version 0.6.5 - soap_transport_http: disable cURL verification of peer and server (formerly the cURL default) - soap_transport_http: mingle cURL code with straight http, so sendHTTP is no longer needed 2003-08-29, version 0.6.6 - soap_transport_http: add setContentType - soapclient: call setContentType using new getHTTPContentType and getHTTPContentTypeCharset 2003-09-05, version 0.6.6 - wsdl: add some more code to handle null/nil values (but there's still a way to go) 2003-10-21, version 0.6.6 - soap_transport_http: only include port in Host header if it was specified in the URL - soap_transport_http: add some code to use OpenSSL for PHP ssl:// scheme, but comment out since it's not ready - soap_server: use $_SERVER['PHP_SELF'] if $GLOBALS['PHP_SELF'] is not set - wsdl: add WSDL request and response and transport debug to debug - wsdl: handle custom type extending xmlschema namespace (GLUE ... Thanks Matt) - soap_parser: add param to docs - soapclient: add getHTTPBody, getHTTPContentType, getHTTPContentTypeCharset (anticipating MIME subclass) 2003-10-28, version 0.6.6 - nusoap_base: add expandEntities method - wsdl: use expandEntities - soap_fault: use expandEntities - soap_transport_http: Allow credentials to be included in URL, rather than requiring setCredentials - soap_transport_http: Merge HTTP headers that span multiple lines - soap_parser: Properly set errors in ctor - soapclient: Pass headers to parseResponse and parse them in that method 2003-10-30, version 0.6.6 - xmlschema: Add some information for the related type to an element 2003-12-09, version 0.6.6 - nusoap_base: Add some namespace methods previously in xmlschema - xmlschema: Improve parsing of complexType, element and simpleType - xmlschema: Improve serialization - xmlschema: Track imports - xmlschema: Track elementFormDefault and form attributes - wsdl: Support multiple (note that setting $server->wsdl->schemaTargetNamespace no longer does anything! Use configureWSDL instead.) - wsdl: Use form attribute of element to control namespace specification - wsdl: Support chained imports (A imports B which imports C) - wsdl: Include port in endpoint address when serializing - soap_server: Fix use of style (rpc|document) and use (encoded|literal) - soap_server: Support _SERVER[CONTENT_TYPE] in addition to _SERVER[HTTP_CONTENT_TYPE] - soap_server: Support wsdl with multiple - soap_client: Remove a var_dump - soap_client: Add style and use parameters to call method to support doc/lit without WSDL - soap_transport_http: Check that $this->fp exists when doing persistent connections 2003-12-17, version 0.6.6 - soap_server: pass namespaces to xmlschema constructor - wsdl: post-process after all imports - wsdl: remove some debug, add some error handling - xmlschema: allow enclosing namespaces to be specified in constructor - xmlschema: improve handling of compositors and simple types 2004-01-08, version 0.6.6 - soap_server: when requested WSDL is in a file, return to client using passthru (thanks Ingo Fischer) - soapclient: have proxy inherit more client state - soapclient: allow timeout and response timeout to be specified in the constructor - wsdl: allow timeout and response timeout to be specified in the constructor - soap_transport_http: allow response timeout to be specified in send and sendHTTPS 2004-01-28, version 0.6.6 - wsdl: add namespace for array and scalar when form is qualified - wsdl: fix a bug in which data type of complexType elements were ignored in serialization - wsdl: enhance handling of URLs with file scheme - wsdl: add addSimpleType - xmlschema: add addSimpleType - xmlschema: always set phpType elements - soapclient: allow a wsdl instance to be specified in constructor - soap_server: allow a wsdl instance to be specified in constructor (not tested!) - soap_server: fix default SOAPAction created in register method - soap_transport_http: accept chunking with LF separators in addition to CRLF. - wsdlcache: added class - nusoapmime: fix comments 2004-02-23, version 0.6.6 - soap_transport_http: don't try to unchunk cURL data, since cURL already does it - soap_transport_http: append CVS revision to version in User-Agent - wsdl: serialize boolean as true|false, not 1|0, to agree with XML Schema - soap_server: always exit() after returning WSDL - soap_server: use the WSDL URL scheme as the default endpoint URL scheme - soap_server: append CVS revision to version in X-SOAP-Server - nusoap_base: add (CVS) revision - wsdlcache: synchronize using a per-WSDL lock file (Thanks Ingo) - wsdlcache: add cache lifetime, after which cache contents are invalidated (Thanks Ingo) 2004-03-15, version 0.6.6 - nusoap_base: add isArraySimpleOrStruct method - soap_server: improve WSDL URL scheme determination - soap_server: only deflate/gzip payloads > 1024 bytes - soap_server: fix parameter order in fault method (always used as faultcode, faultstring) - soap_server: refactor parse_request into multiple functions (for sanity) - soap_server: set the namespace on the Response element to the same as the request - soap_server: name the return value element 'return' by default - soap_server: added and documented data fields, so that service programmers can use them if desired - soap_parser: standardize parsing error message - soap_parser: fix document and responseHeaders so they are the correct XML text (as documented) - soap_transport_http: fix read from persistent connection - soapclient: clean up debugging for persistent connection - wsdl: enforce correct naming of messages parts when an associative array is used for parameters - wsdl: better serialization of null values - wsdl: standardize parsing error message - xmlschema: standardize parsing error message 2004-03-24, version 0.6.7 - soap_transport_http: add digest authentication (based on code by Kevin A. Miller) - xmlschema: improve parsing of import elements - wsdl: do schema imports even if there are no wsdl imports 2004-04-12, version 0.6.7 - wsdl: serialize multiple elements when maxOccurs="unbounded" and value is an array - wsdl: serialize soapval values (used to force an XML type, e.g. when WSDL uses an abstract type) - nusoapmime: do not require nusoap.php (it is now the programmer's responsibility) 2004-04-21, version 0.6.7 - soap_parser: parse repeated element name into an array (de-serializes doc/lit array into a PHP array when there is more than 1 array element) - soap_server: do not wrap response in a response element for a document style service 2004-04-30, version 0.6.7 - soap_transport_http: allow digest auth params to be separated by "," as well as ", " - soap_transport_http: re-initialize incoming headers for each response - soap_server: add methodreturnisliteralxml property to allow service function to return XML as a string - soapclient: improve rpc/literal support - soapclient: allow XML string as call params in addition to array - soapclient: support document style and literal encoding when not using WSDL 2004-05-05, version 0.6.7 - wsdl: serialize PHP objects for WSDL XML Schema complexTypes, in addition to associative arrays - wsdl: fix WSDL generation when there is no encodingStyle - soap_transport_http: suppress fsockopen warnings - soap_transport_http: detect socket timeouts when reading (0 bytes returned) - soap_transport_http: read chunked content "in-line" so it works on a persistent connection - nusoap_base: serialize boolean as true|false, not 1|0, to agree with XML Schema - nusoap_base: serialize array of struct differently than array of array 2004-05-09, version 0.6.8