Forum Discussion
Jan 02, 2008
As for your second post about Pool.add_member, this is the same issue. The members array is getting converted to a list of scalars , not a soapenc:Array.
bob
8.10.72.5
80
192.168.1.12
80
The server is trying to convert the first members parameter into an array and since it doesn't have an associated soapenc:arrayType attribute, the server is treating this like a zero-sized array.
This is one of the down sides of using a loosely typed languate like Perl. There are issues that you must determine at debug time that tightly coupled languages will catch. The fix for your code is easy though, just make sure you surround your array parameter values to make sure that the SOAP::Lite client library will treat that variable as a soap array.
$soapResponse = $Pool->add_member(
SOAP::Data->name(pool_names => [$pool]),
SOAP::Data->name(members => [@members]));
then soap trace should look something like this:
bob
8.10.72.5
80
192.168.1.12
80
-Joe