I have used wsdl2perl.pl to generate classes, and have found this interface easy to use. I am able to generate a properly-encapsulated message with a call, but can't seem to find the invocation that will enable full namespacing. I know I could eventually trace my way through the serializer code and hack it in, but it seems it should be simple to do so.
The namespace calls did make it in via the import, so I am able to see the xmlns:tns and xmlns:xs definitions in my interface Element files.
Here is what I am currently generating: