<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic RequestIterator issues with Perl in Software Development Kit (SDK) and API Discussions</title>
    <link>https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/RequestIterator-issues-with-Perl/m-p/101411#M1393</link>
    <description>&lt;P&gt;I am able to run non-iterator based calls, such as getStorageArrays, but the computeTotalStoragePerArray.pl example program loops through each array with&lt;/P&gt;&lt;P&gt;each array is not working.&amp;nbsp; It throws this error:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The method name 'null' in the request iterator, does not match the expected method name'VolumeRequest(storageId=86528). context=APISessionContext{clientVersion=1.0,id=3d92ee26:14be69a2397:-7fd2,time=1425575394391,limit=1000}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;code snippet:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;foreach my $storageArrayObject (@allStorageObjects) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # We need to build an empty request iterator to seed the call&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $iterObject = new SOAPParam( "RequestIterator_2", "namesp1:RequestIterator");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print $storageArrayObject-&amp;gt;name() . "\n\n";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $size = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; my @allVolumeObjects;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $arrayRequester = new SOAP::Data(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; value =&amp;gt; $storageArrayObject-&amp;gt;id(),&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name =&amp;gt; "String_3",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type =&amp;gt; "string");&lt;/P&gt;&lt;P&gt;print Dumper($APIContext);&lt;BR /&gt;print Dumper($iterObject);&lt;BR /&gt;print Dumper($arrayRequester);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $volumeResponse = $Soap-&amp;gt;getVolumesByStorageArray($APIContext-&amp;gt;getSOAP(), $iterObject-&amp;gt;getSOAP(), $arrayRequester );&lt;BR /&gt;print "foo\n";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $iterObject = Iterator-&amp;gt;parseResult($volumeResponse);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my @currVolumeObjects= Volume-&amp;gt;parseResult($volumeResponse);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; push @allVolumeObjects, @currVolumeObjects;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } while($iterObject-&amp;gt;hasMore() eq "true");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach my $volume (@allVolumeObjects){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $size += $volume-&amp;gt;capacityGB();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Size in GB as returned by summing the volume sizes: ". $size . "\n\n\n";&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;</description>
    <pubDate>Thu, 05 Jun 2025 04:56:14 GMT</pubDate>
    <dc:creator>lpetersPTO</dc:creator>
    <dc:date>2025-06-05T04:56:14Z</dc:date>
    <item>
      <title>RequestIterator issues with Perl</title>
      <link>https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/RequestIterator-issues-with-Perl/m-p/101411#M1393</link>
      <description>&lt;P&gt;I am able to run non-iterator based calls, such as getStorageArrays, but the computeTotalStoragePerArray.pl example program loops through each array with&lt;/P&gt;&lt;P&gt;each array is not working.&amp;nbsp; It throws this error:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The method name 'null' in the request iterator, does not match the expected method name'VolumeRequest(storageId=86528). context=APISessionContext{clientVersion=1.0,id=3d92ee26:14be69a2397:-7fd2,time=1425575394391,limit=1000}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;code snippet:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;foreach my $storageArrayObject (@allStorageObjects) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # We need to build an empty request iterator to seed the call&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $iterObject = new SOAPParam( "RequestIterator_2", "namesp1:RequestIterator");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print $storageArrayObject-&amp;gt;name() . "\n\n";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $size = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; my @allVolumeObjects;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $arrayRequester = new SOAP::Data(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; value =&amp;gt; $storageArrayObject-&amp;gt;id(),&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name =&amp;gt; "String_3",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type =&amp;gt; "string");&lt;/P&gt;&lt;P&gt;print Dumper($APIContext);&lt;BR /&gt;print Dumper($iterObject);&lt;BR /&gt;print Dumper($arrayRequester);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $volumeResponse = $Soap-&amp;gt;getVolumesByStorageArray($APIContext-&amp;gt;getSOAP(), $iterObject-&amp;gt;getSOAP(), $arrayRequester );&lt;BR /&gt;print "foo\n";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $iterObject = Iterator-&amp;gt;parseResult($volumeResponse);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my @currVolumeObjects= Volume-&amp;gt;parseResult($volumeResponse);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; push @allVolumeObjects, @currVolumeObjects;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } while($iterObject-&amp;gt;hasMore() eq "true");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach my $volume (@allVolumeObjects){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $size += $volume-&amp;gt;capacityGB();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Size in GB as returned by summing the volume sizes: ". $size . "\n\n\n";&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;</description>
      <pubDate>Thu, 05 Jun 2025 04:56:14 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/RequestIterator-issues-with-Perl/m-p/101411#M1393</guid>
      <dc:creator>lpetersPTO</dc:creator>
      <dc:date>2025-06-05T04:56:14Z</dc:date>
    </item>
    <item>
      <title>Re: RequestIterator issues with Perl</title>
      <link>https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/RequestIterator-issues-with-Perl/m-p/101483#M1402</link>
      <description>&lt;P&gt;Solved my own problem.&amp;nbsp; The issue is that $iterObject _is_ null when the method is first called, so don't use it then.&lt;BR /&gt;Once the code gets the first response, then I can set the $iterObject to the proper value and use it accordingly:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;my @allStorageObjects;&amp;nbsp;&lt;/P&gt;&lt;P&gt;my $iterObject;&lt;/P&gt;&lt;P&gt;do {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $storageArraysResponse;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($iterObject) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $storageArraysResponse = $Soap-&amp;gt;getStorageArrays($APIContext-&amp;gt;getSOAP(), $iterObject-&amp;gt;getSOAP());&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $storageArraysResponse = $Soap-&amp;gt;getStorageArrays($APIContext-&amp;gt;getSOAP());&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $iterObject = Iterator-&amp;gt;parseResult($storageArraysResponse);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; my @currStorageArrayObjects = StorageArray-&amp;gt;parseResult($storageArraysResponse);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; push @allStorageObjects, @currStorageArrayObjects;&lt;BR /&gt;} while($iterObject-&amp;gt;hasMore() eq "true");&lt;/P&gt;</description>
      <pubDate>Fri, 06 Mar 2015 17:55:30 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/RequestIterator-issues-with-Perl/m-p/101483#M1402</guid>
      <dc:creator>lpetersPTO</dc:creator>
      <dc:date>2015-03-06T17:55:30Z</dc:date>
    </item>
  </channel>
</rss>

