General ------- - rename soapobject to soapclient - make sure soapvar and soapparam are really need - make sure soapserver.map(), soap_encode_to_xml() and soap_encode_to_zval() are really need SOAP ---- + SOAP versioning model - SOAP message must not contain a Document Type Declaration - SOAP message MUST NOT contain Processing Instructions - support for SOAP headers - actor attribute - mustUnderstend attribute - make sure soap 1.1 and 1.2 are supported fully Encoding -------- - full support for standard simple types ( + anyType ? duration, ? anyURI, ? QName, ? NOTATION, ? normalizedString, ? token, ? language, ? NMTOKEN, ? Name, ? NCName, ? ID, ? IDREF, ? IDREFS, ? ENTITY, ? ENTITIES, ? unsignedLong) - full support for standard date/time types ( ? dateTime, ? time, ? date, ? gYearMonth, ? gYear, ? gMonthDay, ? gDay, ? gMonth) ? proper encoding of standard hexBinary type ? proper encoding of standard base64Binary type - full support for arrays ? arrayType attribute + offset attribute + position attribute ? multidimensional arrays ? arrays of arrays - encoding of arrays with holes - full support for structures??? - references (id,href) - references to external resources - default values - root attribute ? provide schema 1999/2001 support??? ? make internal refrences for soap encoding (use seralization logic)??? ? provide user space overriding of serialization certin objects and types??? WSDL ---- + wsdl and schema import + support for without ? support for style "rpc"/"document" encoding ? support for "encoded"/"literal" encoding ? support for "nillable" and "nil" - support for user defined simple types - restiction + base - minExclusive (for numeric, date types) - minInclusive (for numeric, date types) - maxExclusive (for numeric, date types) - maxInclusive (for numeric, date types) - totalDigits (for decimal) - fractionDigits (for decimal) - length (for string, anyURI, hexBinary, base64Binary and derived) - minLength (for string, hexBinary, base64Binary and derived) - maxLength (for string, hexBinary, base64Binary and derived) - whiteSpace (preserve, replace [#x9,#xA,#xD=>#x20], collapse [replace+?]) - pattern ? enumeration - list ??? - union ??? - support for user defined complex types - simpleContent extension ? base - group - name - all - choice - sequence - all - element - choice - element - group - choice - sequence - any ??? - sequence - element - group - choice - sequence - any ??? - attribute - function/method overloading (test(int); test(string)) - wsdl caching - wsdl auto generation Error Handling -------------- - ??? 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 UDDI ---- - ??? Interop Testing --------------- - more rounds/groups - ???