Ok, update for all!
I found the problem. The SOAP response contains an element named 'xmlStr'. The Perl module dies because this is invalid, according to the XML spec. The author of the module suggested that one could comment out lines 1084 and 1085 in the Lite.pm file, though it was not recommended. This allowed processing of the response to continue.
My test script ended up not needing the SOAP::WSDL part. A boiled down version looks like this:
use SOAP::Lite;
my $result = SOAP::Lite
-> service('http://cms-test.pmic.com/startquote/form/RateCalculation
+sService.wsdl')
->getQuote('<passed in the xml doc containing the parameters for the
+ request as a string>');
$result =~ m~<TOTALMODALPREMIUM>(.+?)</TOTALMODALPREMIUM>~ig;
my $quote = $1;
I hope this helps someone else!
Some people are like Slinkies. Not really good for anything, but you still can't help but smile when you see one tumble down the stairs.
|