The straight soap version works fine. I'm sure due to SOAP::Lite's
auto typing. I think that my problem lies in how to declare the type
for the input for getEmpTxtInfo in the wsdl file. If I set it to
string, it literally sends the hash description string and not the
actual object.

In the wsdl file I have this line for the input value for getEmpTxtInfo: