- make sure soapserver.map(), soap_encode_to_xml() and soap_encode_to_zval() are really need
- reimplement SoapObject::__getfunctions() and SoapObject::__gettypes()
to return structures instead of strings
+- memory leaks (libxml and WSDL/Schema use malloc to cache WSDL)
+
SOAP
----
-+ SOAP versioning model
-+ SOAP message must not contain a Document Type Declaration
- SOAP message MUST NOT contain Processing Instructions <?xml-stylesheet ... ?> (XML_PI_NODE)
-+ SOAP 1.1 fault codes ("client","server"), SOAP 1.1 fault codes ("Sender","Receiver")
-+ SOAP 1.1 Content-Type - "text/xml", SOAP 1.2 - "application/soap+xml"
-+ support for SOAP 1.2 <rpc:result> (ignore it)
-+ SOAP 1.2 uses the element names env:Code and env:Reason, respectively, for what used to be called faultcode and faultstring in SOAP 1.1.
- support for SOAP headers
- actor attribute
- mustUnderstend attribute
Encoding
--------
? full support for standard simple types (
- + anyType
- + anyURI,
- + QName,
- + NOTATION,
- + normalizedString,
- + token,
? language, (pattern: "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*")
? NMTOKEN, (pattern: "\c+") (\c: [a-zA-Z0-9.\-_:])
? NMTOKENS, (list: NMTOKEN, minLength: 1)
? IDREFS, (list: IDREF; minLength: 1)
? ENTITY, (base: NCName)
? ENTITIES, (list: ENTITY; minLength: 1)
- ? duration,
- + unsignedLong)
+ ? duration)
? full support for standard date/time types (
? dateTime,
? time,
SOAP 1.2 doesn't support partially transmitted and sparse arrays
- references to external resources
? support for "nillable" and "nil"
-+ default values of <attribute>
- default values of <element>
? provide schema 1999/2001 support???
? make internal refrences for soap encoding (use seralization logic)???
WSDL
----
-+ wsdl and schema import
-+ support for message/part element attribute
-+ support for portType operation input/output name attribute
-+ support for <opperation> without <input>
- support for portType operation parameterOrder attribute
- support for binding operation input/output name attribute (part of overloading)
- support for <opperation> <fault>
-+ support for style "rpc"/"document" encoding (client part)
- support for style "rpc"/"document" encoding (server part)
How to get function name from request? May be SoapAction HTTP header?
-+ support for "encoded"/"literal" encoding
-+ arrayType and "literal" encoding
- function/method overloading/redeclaration (test(int); test(string))
- wsdl caching
- wsdl auto generation
- <redefine>
? support for user defined simple types
? restiction
- + base
? enumeration
? length (for string, anyURI, hexBinary, base64Binary and derived) list???
? minLength (for string, hexBinary, base64Binary and derived) list???
- maxInclusive (for numeric, date types)
- totalDigits (for decimal)
- fractionDigits (for decimal)
- + list
? union
? support for user defined complex types
? full support for content model encoding/decoding
Transport
---------
-+ support for https://
-+ support for persistent HTTP connections (keep_alive)
-- support for HTTP compression (gzip,x-gzip,defalte)
-+ support for HTTP authentication
-+ HTTP Cookies support
-- support for HTTP proxies
-- transport abstraction layer
-+ SoapAction HTTP header field
? HTTP status codes
? HTTP chunked Transfer-Encoding
+- support for HTTP compression (gzip,x-gzip,defalte)
+- support for HTTP proxies
+- transport abstraction layer???
UDDI
----