
List of things TODO
==================================

In order of how hard I think they are:

*	Move everyting into a namespace.

*	Implement copy constructors, copy operators for things that need
	them.  Declare private ones that don't make sense.

*	Move the XML payload serialization into a single class instead of
	the ugly WriteSOAPPacket method on a bunch of classes.

*	Write real regression tests.

*	Write a file Transport that can be used to read/write files for
	regression testing (files will have pre-composed SOAP payloads
	that will be read/sent as the response to a method invocation.  The
	request is also compared against a file.)

*	Write POP/SMTP/FTP/raw TCP transports

*	Improve the existing HTTP/HTTPS transports.

*	Create a factory class for handing out transports.  Set things up
	so a transport can be registered for a specific protocol.
	
*	SOAPUrl might need to keep protocol around as a string instead of
	an enum to help the factory.  Need to get the full URL back as a
	string as well as a partial URL containing only "proto://hostname."

*	Need to be able to specify different encodingStyle (see
	SOAPEnvelope::WriteSoapPacket())

*	Have the SOAPProxy::Execute() method take a SOAPMethod AND
	SOAPParameters instead of adding parameters to the SOAPMethod.

*	Rename SOAPProxy to SOAPService.  Change SOAPService to contain
	a map of methods (instead of the single funky method it has now).
	Those are the methods that can be called on that service.  This
	should map well with WSDL.

*	More builtin types.  Since the type system is now pretty extensible
	then this is less of an issue.  But we should have 64bit ints
	and date/time stuff builtin.

*	Read about WSDL.  Support WSDL.  Construct a SOAPService by parsing
	a WSDL document.  Create stub code by parsing a WSDL document.

*	Be able to write a SOAP server.  The validator is a CGI, but it needs
	a ton of improvements.  Need to parse Headers, be able to serialize
	Faults, etc.  TONS of work to do here.

