http://www.perlmonks.org?node_id=344876

Hammy has asked for the wisdom of the Perl Monks concerning the following question:

Hello all, I have a very small piece of code I have been struggling with and I am wondering if anyone has any insight. I have a WSDL definition from a .NET service of
http://www.thedialogcenter.com/EncryptionService.wsdl
The service is out of my control. I am using SOAP::Lite. I am not very familiar with SOAPs architecture and I have really never used it before. I have had success with every test service I used (from the SOAP documentation I was using - plus a java one we created ourselves), but not with this one. I do not get anything back. The code I used is as follows:
print SOAP::Lite -> uri('http://www.arkbluecross.com/WebServices/EncryptionService/ +Encrypt') -> service('http://thedialogcenter.com/EncryptionService.wsdl') -> Encrypt('43877AF844D640A189E5708F3BE9222E', 'Testing');
The code appears to run, but does not print anything. I have a tool called SOAPscope that I ran against this same .WSDL and it returned an encrypted string. I'm not sure if I am missing something simple. I know SOAP::Lite says it does not support complex return types, but this just comes back as a string (according to SOAPscope). I will take any advice you have to offer. Maybe I am getting failure return codes, but I don't know how to check them or maybe the data is coming back and Perl does not know how to handle it. Also, so there is no confusion, every other test I ran I used
->proxy() instead of ->service()
and in that proxy I put the name and location of the service. In this case the service is putting out a bogus .wsdl so I modified it to better reflect the service. I used SOAPscope to test with the .WSDL I created and it works as hoped. Thanks.