I've not done an exhustive analysis to determine what (if anything) *else* is incorrect, but the WSDL in question is RPC/encoded; SOAP::WSDL currently only supports document/literal:
http://search.cpan.org/~mkutter/SOAP-WSDL-2.00.01/lib/SOAP/WSDL.pm#Message_style/encoding
(0)
]
