Forum Discussion
Sine you didn't show how you defined your parameters, I'm assuming that they are all scalar values (single strings). The method takes in all parameters as arrays. SOAP::Lite doesn't do auto-conversion of scalars to arrays for you so it's going to just pass in an array size of zero for all parameters. In perl, the easiest way is force a conversion is to wrap the parameters with brackets to tell SOAP::Lite to encode it as an array. Something like this should work
$soapResponse = $datagroupfile->create (
SOAP::Data->name(files => [$identifier]),
SOAP::Data->name(paths => [$path]),
SOAP::Data->name(types => [$type])
);
A good way to debug with SOAP::Lite it so turn on client-side debugging with:
use SOAP::Lite + trace => qw(method debug);
That will print to the console the entire SOAP request and responses which should have shown the parameters weren't encoded as arrays.
Hope this helps...
-Joe