From: Robert Klemme Date: 2009-03-04T02:43:43+09:00 Subject: Re: Variable number of parameters on SOAP call? On 03.03.2009 18:26, John Allen wrote: > Is there a way to specify a variable number of parameters on a SOAP > call? > Example: Ruby client that is trying to call a Perl SOAP server: > > dvr = SOAP::RPC::Driver.new("http://samplehost.com:1234", "urn:Test") > dvr.add_method('vartest','user','passwd','opts') > > 'opts' can be a variable number of options, so its expecting one or > more options to show up. If I pass it something like: > > tt = ["test1","test2","test3"] > dvr.vartest("user","pass",tt) > > the perl SOAP client gets a one element array of an array....not just a > single array. IE> p[0][0] => "test1", p[0][1] => "test2" p[0][2] => > "test3" ..what its expecting is p[0] => "test1", p[1] => "test2", p[2] > => "test3". This works fine from my perl SOAP client. > > Is there a standard way to set up a SOAP function to accept a variable > number of parameters?? I can't find anything about it. > Thanks all:) Did you try the splat operator? dvr.vartest("user", "pass", *tt) ^ Kind regards robert