Loading ...
Sorry, an error occurred while loading the content.

5244Re: [soaplite] Passing an Array of Array of Strings

Expand Messages
  • Eric Bridger
    Feb 28, 2006
      Hmmm. Are you sure that it's actually expecting an array of arrays?
      Just because it's called ArrayofString2D doesn't mean it is.

      But I'd try something like:

      my @vals1 = ('one', 'two', 'three');
      my @vals2 = ('four', 'five', 'six');
      my @vals = ();

      push @vals, SOAP::Data->name( ArrayofString => \@vals1);
      push @vals, SOAP::Data->name( ArrayofString => \@vals2);

      my $TwoDArray = SOAP::Data
      ->name(ArrayofString2D => \@vals);

      Producing:

      <ArrayofString2D soapenc:arrayType="soapenc:Array[2]"
      xsi:type="soapenc:Array">
      <ArrayofString soapenc:arrayType="xsd:string[3]"
      xsi:type="soapenc:Array">
      <item xsi:type="xsd:string">one</item>
      <item xsi:type="xsd:string">two</item>
      <item xsi:type="xsd:string">three</item>
      </ArrayofString>
      <ArrayofString soapenc:arrayType="xsd:string[3]"
      xsi:type="soapenc:Array">
      <item xsi:type="xsd:string">four</item>
      <item xsi:type="xsd:string">five</item>
      <item xsi:type="xsd:string">six</item>
      </ArrayofString>
      </ArrayofString2D>

      You may need to play with the SOAP::Data ->name and ->type methods to
      get the correct namespacesa and types.

      Eric


      On Tue, 2006-02-28 at 00:49, Chris wrote:
      > I am trying to pass an array of array of Strings from my perl
      > program to a java based web service. I have included the snippets
      > from the wsdl below. I tried just passing a array of array of
      > strings, but this will not serialzie. I tried various encantations
      > of SOAP:Data objects, but none would serialize correctly. So, any
      > ideas, on how one could create a ArrayOfString2D object in perl that
      > I can pass?
      >
      > Thanks for any help,
      > Chris
      >
      >
      > <complexType name="ArrayOfString2D">
      > - <complexContent>
      > - <restriction base="soapenc:Array">
      > <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]
      > []" />
      > </restriction>
      > </complexContent>
      > </complexType>
      > - <wsdl:message name="executeQueryRequest">
      > <wsdl:part name="UNIXLogin" type="xsd:string" />
      > <wsdl:part name="queryName" type="xsd:string" />
      > <wsdl:part name="query" type="tns6:ArrayOfString" />
      > <wsdl:part name="resultColumns" type="tns6:ArrayOfString2D" />
      > </wsdl:message>
      > <wsdl:operation name="executeQuery" parameterOrder="UNIXLogin
      > queryName query resultColumns">
      > <wsdl:input name="executeQueryRequest"
      > message="impl:executeQueryRequest" />
      > <wsdl:output name="executeQueryResponse"
      > message="impl:executeQueryResponse" />
      > </wsdl:operation>
      >
      >
      >
      >
      >
      >
      >
      > Yahoo! Groups Links
      >
      >
      >
      >
      >
    • Show all 3 messages in this topic