マルチレポートAPIの「ReportSearchReports」データ取得抜けについて

Garoonマルチレポートの公開一覧のデータを「ReportSearchReports」のAPIを使用し取得しようとしています。
下記のリクエスト内容で実行すると、公開一覧のデータが取得できます。
<parameters target=“all” keyword=“”>
</parameters>
しかし、いくつかのレポートで<returns>の<item>の内容が取得できないものがあります。

取得方法は、Perlを使用し下記のように記述しています。
$i = 1;
foreach my $report ($result->dataof(‘//ReportSearchReportsResponse/returns/*’)){
my $report_id = $report->attr->{‘id’};
my $subject = $report->attr->{‘subject’};
my @item = $result->dataof(“//ReportSearchReportsResponse/returns/[$i]/items/item”);
for (my $j=0; $j <= $#item; $j++){
my $name = $item[$j]->attr->{‘name’};
my $value = $item[$j]->attr->{‘value’};
print “name = $name \t: value = $value”;
}
$i++;
}

「ReportGetReportById」でID指定で上記と同じ記述で取得するとデータが取得できるのですが、何が問題で「ReportSearchReports」を使用したときに取得できないのかが分かりません。
ご存知の方、教えて頂けないでしょうか?
よろしくお願いいたします。

同様の現象に遭遇されている方もおられるようです。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?forum=9&topic=10667

今回の問題は、
ガルーンのレスポンスのXMLが正しくないか
SOAP::Liteのバグかのどちらかだと思うのですが、
原因はよくわかりませんでした。
あまり参考にならずすみません。

とりあえず回避策としては、
PHPの時 と同様に、レスポンスのXMLをパースし直すのがよさそうです。

ほかの方の書かれたプログラムでも、
SOAP::LiteのレスポンスをXML::Simpleでパースしているケースを見かけましたので、
よくある問題なのかもしれません。

## レスポンスのXMLをパースし直すサンプル

... (前略) ...
# 以下のURLに書かれているものと同様のコードで、SOAPの実行準備をしておく
# https://cybozudev.zendesk.com/hc/communities/public/questions/201719214#answer-202157434

# 実行
$service->outputxml(1); # レスポンスをXMLとして受け取るようにする
my $result = $service->call($action, $parameters, $header);

# XMLデータをパースする
use XML::Simple;
my $parser = XML::Simple->new(forcearray => 1);
my $xml_content = $parser->XMLin($result) ;
my $reports = $xml_content->{"soap:Body"}[0]->{"report:ReportSearchReportsResponse"}[0]->{returns}[0]->{report};

# レポートが一つもみつからなければそこで処理を終了する
unless (ref $reports){
  print "no report";
  exit;
}

# レポートの表題と項目を表示
while (my ($report_id, $report) = each($reports)){
  print "----------";
  my $subject = $report->{'subject'};
  print "report:$report_id ($subject)";

  while( my ($name, $val) = each($report->{items}[0]->{item})){
    my $value = $val->{value};
    print "name = $name \t: value = $value";
  }
}

Kawamukai Naoki様、
ご回答ありがとうございます。
パースし直すかたちでデータ取得するように変更してみます。
ありがとうございました。