php-src/ext/soap/TODO

169 lines
4.7 KiB
Plaintext
Raw Normal View History

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
2004-01-15 16:38:14 +08:00
- reimplement SoapObject::__getfunctions() and SoapObject::__gettypes()
to return structures instead of strings
SOAP
----
+ SOAP versioning model
2004-01-14 23:36:01 +08:00
+ 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")
2004-01-15 16:38:14 +08:00
+ SOAP 1.1 Content-Type - "text/xml", SOAP 1.2 - "application/soap+xml"
- support for SOAP headers
2004-01-09 22:16:30 +08:00
- actor attribute
- mustUnderstend attribute
- make sure soap 1.1 and 1.2 are supported fully
Encoding
--------
- full support for standard simple types (
+ anyType
2004-01-15 16:38:14 +08:00
+ anyURI,
+ QName,
+ NOTATION,
+ normalizedString,
2004-01-15 16:38:14 +08:00
+ 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)
? Name, (pattern: "\i\c*") (\i: [a-zA-Z_:]
? NCName, (pattern: "[\i-[:]][\c-[:]]*")
? ID, (base: NCName)
? IDREF, (base: NCName)
? IDREFS, (list: IDREF; minLength: 1)
? ENTITY, (base: NCName)
? ENTITIES, (list: ENTITY; minLength: 1)
? duration,
+ 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
2004-01-14 23:36:01 +08:00
+ arrayType attribute
+ offset attribute
+ position attribute
2004-01-14 23:36:01 +08:00
+ multidimensional arrays
+ arrays of arrays
2004-01-15 18:59:24 +08:00
+ SOAP 1.2 array encoding/decoding (itemType, arraySize)
+ SOAP 1.1 - arrayType="xsd:ur-type[]", SOAP 1.2 - itemType="xsd:anyType"
2004-01-15 16:38:14 +08:00
- SOAP 1.1 encoding of arrays with holes (partially transmitted and sparse arrays)
SOAP 1.2 doesn't support partially transmitted and sparse arrays
- full support for structures???
+ references (id,href)
+ SOAP 1.2 (enc:id,enc:ref)
2004-01-09 22:16:30 +08:00
- references to external resources
? support for "nillable" and "nil"
2004-01-09 22:16:30 +08:00
- 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 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
- 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
? SOAP binding
- <soap:body> parts attribute
- <soap:fault>
- <soap:header> and <soap:headerfault>
- HTTP GET/POST binding
- MIME binding
- SOAP 1.2 bindings???
Schema
------
2004-01-20 00:40:37 +08:00
- <include>, <import>, <redefine>
2004-01-07 01:14:30 +08:00
- support for user defined simple types
? restiction
2004-01-07 01:14:30 +08:00
+ base
+ enumeration
+ 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
2004-01-07 01:14:30 +08:00
- 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)
? list
? union
2004-01-07 01:14:30 +08:00
- support for user defined complex types
- simpleContent restriction
2004-01-07 01:14:30 +08:00
- simpleContent extension
- complexContent restriction
- complexContent extension
+ base
2004-01-07 01:14:30 +08:00
- all
- element
- choice
- element
- group
- choice
- sequence
- any ???
- sequence
- element
- group
- choice
- sequence
- any ???
- group
? attribute
+ attributeGroup
- anyAttribute
Error Handling
--------------
- ???
Transport
---------
2004-01-07 01:14:30 +08:00
+ support for https://
2004-01-09 22:16:30 +08:00
+ support for persistent HTTP connections (keep_alive)
- support for HTTP compression (gzip,x-gzip,defalte)
2004-01-08 17:56:49 +08:00
+ support for HTTP authentication
+ HTTP Cookies support
- support for HTTP proxies
- transport abstraction layer
+ SoapAction HTTP header field
2004-01-09 22:16:30 +08:00
? HTTP status codes
? HTTP chunked Transfer-Encoding
UDDI
----
- ???
Interop Testing
---------------
- more rounds/groups
- ???