Re: Multidimensionality in SOAPLite

"Chen, Li (Research, YOH)" <[email protected]> Tue, 15 Jul 2003 09:34:52 -0400
Newsgroups gmane.comp.windows.devel.soap.general
Message-ID <[email protected]>
BTW, the response from the server side looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/1999/XMLSchema"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance">
 <soapenv:Body>
  <ns1:getPersonDataResponse
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="myService">
   <ns1:getPersonDataReturn xsi:type="soapenc:Array"
soapenc:arrayType="ns2:string[][2]"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns2="http://www.w3.org/2001/XMLSchema">
    <item soapenc:arrayType="ns2:string[2]">
     <item>dummy</item>
     <item>data</item>
    </item>
    <item soapenc:arrayType="ns2:string[2]">
     <item>here</item>
     <item>example</item>
    </item>
   </ns1:getPersonDataReturn>
  </ns1:getPersonDataResponse>
 </soapenv:Body>
</soapenv:Envelope>

-----Original Message-----
From: Chen, Li (Research, YOH) [mailto:[email protected]]
Sent: Tuesday, July 15, 2003 9:16 AM
To: [email protected]
Subject: Re: [SOAP] Multidimensionality in SOAPLite


Okay, I'll include that in the Perl client documentation...one more thing
though; the web service on the server side returns something like
String[][], I'm not sure how Perl can access the resulting multidimensional
array.

Thanks,

Lee

-----Original Message-----
From: Eric Amick [mailto:[email protected]]
Sent: Monday, July 14, 2003 6:03 PM
To: [email protected]
Subject: Re: [SOAP] Multidimensionality in SOAPLite


On Mon, 14 Jul 2003 17:41:55 -0400, you wrote:

>I didn't explain it well enough, I guess.  I meant for you to try
>
>-> getPersonData(SOAP::Data->name(arg0 => \@attributes),
>SOAP::Data->name(arg1 => \@restrictions), SOAP::Data->name(arg2 =>
>\@app_name))
>
>If that doesn't work, try replacing "name" with "type" in the above
>line, but I seriously doubt that that will do it.

I'm glad it worked, but if you think that is ugly, you can try something
like

my $arg0 = SOAP::Data->name(arg0 => \@attributes);
my $arg1 = SOAP::Data->name(arg1 => \@restrictions);
my $arg2 = SOAP::Data->name(arg2 => \@app_name);

and then later

-> getPersonData($arg0, $arg1, $arg2)

--
Eric Amick
Columbia, MD