Derive the system_id form the namespace
Update the service namespace so that it is specific to the namespace
Correct the key used for methods parent
Derive the soap namespace from the xml namespace
Derive xml namespaces as sub-namespace of parent element
SchemaValidation should not be on the end point interface
The end-point interface should specify a name
Be explicit about request wrappers so it is easy to host multiple services with same message names
Implementations should not specify the name
Derive namespace of exception from module
Be very explicit about the actions on methods
Use a different element name for exceptions to avoid collisions
Generate wsdl so that it matches the namespaces configured in the code