I think however what you really want is for the namespaces of the types to be the same. The namespaces of the services don't really matter all that much. As long as the types have a common namespace you'll achieve some degree of commonality.
I can't speak for .NET, but in the Java world, wsimport
of three separate WSDLs will generate three sets of code. However, if the types are in a common namespace across the WSDLs / schemas, then two of the three times generate the same identical code. If generating from the three WSDLs into the same client project (jar, war, etc) should result in overwriting the common bits of code twice.
In your common classes, you can annotate them to have a specific xml namespace. If I recall, not doing so causes them to be declared in the namespace of the service within the generated WSDL's associated XSDs.
package com.example.services.base;
@XmlRootElement
@XmlType(namespace="http://services.example.com/base")
public class BaseRequest {
//...
}