1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
|
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 <schema> (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 <schema>
- 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-06-25, version 0.6.8
- soap_server: prefer gzip to deflate, since IE does not like our deflate
- soap_server: move webDescription to the wsdl class
- soap_server: allow class and instance method calls for service (thanks Ingo Fischer and Roland Knall)
- wsdl: get webDescription from the soap_server class
- wsdl: allow compression from the server
- wsdl: fix serialization of soapval without a type
- wsdl: propagate debug value from query string to SOAP endpoint in programmatic WSDL generation
- nusoap_base: add anyType, anySimpleType for 2001 XML Schema
- nusoap_base: provide additional debug functions
- soap_transport_http: ignore Content-Length when chunked encoding is used
- soap_transport_http: remove ':' from username for Basic authentication (cf. RFC 2617)
- soap_transport_http: urldecode username and password taken from URL
- soap_transport_http: use raw inflate/deflate for IE/IIS compatibility, rather than having Zlib headers according to HTTP 1.1 spec
- soap_transport_http: attempt to handle the case when both the service application and Web server compress the response
- soapclient: when creating proxy methods, replace '.' in operation name with '__' in function name
- soapclient: initialize requestHeaders in proxy
- general: use new debug methods; never access debug_str directly
2004-09-30, version 0.6.8
- soapclient: do not allow getProxy call when WSDL is not used
- soapclient: use ISO-8859-1 as the charset if not specified in the Content-Type header
- soapclient: when an empty string is specified for the call namespace, do not put the method element in a namespace
- soapclient: let soap_transport_http check for SSL support
- soapclient: have proxy inherit soap_defencoding from the client from which it is generated
- soapclient: do not assume that 'ns1' is an unused namespace prefix; always generate namespace prefixes randomly
- soap_parser: compare any encoding in the XML declaration to the charset from the HTTP Content-Type header (thanks Ingo Fischer)
- soap_parser: improve 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: use ISO-8859-1 as the charset if not specified in the Content-Type header
- soap_server: allow suppression of automatic UTF-8 decoding
- soap_server: fix a bug when call_user_func_array() is used
- soap_transport_http: correct digest authentication through a proxy
- wsdl: serialize SOAP-ENC types similarly to XSD types
- xmlschema: force unprefixed type into default namespace
- xmlschema: fix serialization of definition of simple types
2004-10-01, version 0.6.8
- soap_parser: handle default namespace attributes
- soap_server: add default_utf8 field
- soap_server: support literal encoding (with RPC style)
- soap_transport_http: parse HTTP status and generate error for 300, 302-307, 400, 401-417, 501-505 (thanks for the idea Ghislain)
- soap_transport_http: follow HTTP redirection (HTTP status 301 and Location header) (thanks for the idea Ghislain)
- xmlschema: allow any attributes to be specified in an element of a complexType, e.g., abstract, default, form, minOccurs, maxOccurs, nillable (thanks Jirka Pech for the original patch)
2004-10-02, version 0.6.8
- soapclient: read/write cookies (thanks Ingo)
- soap_server: change faultcode on non-resendable faults to Client
- soap_transport_http: read/write cookies (thanks Ingo)
2004-10-05, version 0.6.8
- wsdl: add addElement method
- wsdl: support the document style in the register method
- xmlschema: parse unnamed simpleTypes, rather than ignoring them
- xmlschema: include untyped elements when parsing a complexType
- xmlschema: add addElement method
2004-10-14, version 0.6.8
- soapclient: support client certificates
- soap_parser: deserialize attributes, prefixing names with "!"
- soap_server: notify the client with HTML when WSDL is requested but not supported by service
- soap_transport_http: support client certificates
- wsdl: support defaults for elements of a complexType
- wsdl: serialize elements from complexType extension base
- wsdl: serialize data (associative array elements) as attributes according to XML Schema
- xmlschema: record extension base if present for a complexType
2004-12-15, version 0.6.8
- nusoap_base: add 2000 XML Schema (rare, but used by Akamai)
- soap_parser: avoid deserializing more common attributes that are not data
- soap_parser: be lax when HTTP specifies ISO-8859-1 (the default) and XML specifies UTF-8 (the norm)
- soap_server: account for the fact that get_class_methods returns methods in all lower case (thanks Steve Haldane)
- soap_transport_http: parse digest info that includes '=' in the data (thanks Jinsuk Kim)
- wsdl: feably handle some cases for literal serialization of form="unqualified" elements
- wsdl: don't serialize the decimal portion of a PHP double when the XML type is long
- wsdl: fix serialization of attributes for complexType that is an extension
- wsdlcache: enhance diagnostics
- xmlschema: handle untyped elements
- xmlschema: handle WSDL for SOAP Array that uses the base attribute plus a sequence of element
2005-01-22, version 0.6.8
- wsdl: allow an element in one schema to have a type from another schema
2005-01-24, version 0.6.8
- xmlschema: correctly parse nested complexType definitions
2005-02-14, version 0.6.8
- nusoap_base: fix a bug in which attributes were sometimes not serialized with a value
- nusoap_base: improve serialization of null values (thanks Dominique Stender)
- soap_parser: parse null values by handling the nil attribute (thanks Dominique Stender)
- soap_server: set character encoding for a fault to be the same as for the server (thanks Mark Scott)
- soap_server: correctly check for null value returned from method when WSDL is used (without WSDL, cannot distinguish whether NULL or void return is desired)
- soapclient: for document style, call should always return an array rooted at the response part (all bets are off when there are multiple parts)
- xmlschema: save enumeration values parsed from WSDL
2005-02-10, version 0.6.9
- soapclient: only set SOAP headers when they are specified in call params (so setHeaders still works)
|