Pentaho Loop SOAP Api Call - PullRequest
       12

Pentaho Loop SOAP Api Call

0 голосов
/ 10 июля 2019

внутренняя система дает мне SOAP API с разбиением на страницы.Мне нужно получить все данные из этого API и затем обработать результаты.

Ответ выглядит следующим образом:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="xxx">
<SOAP-ENV:Body>
<ns1:GetArticles>
<ns1:request>
<ns1:IterationConstraints>
<ns1:BlockSize>50</ns1:BlockSize>
<ns1:BlockIndex>0</ns1:BlockIndex>
<ns1:IterationId/>
</ns1:IterationConstraints>
<ns1:RequestPriority>PRIORITY_ID_FILTER</ns1:RequestPriority>
<ns1:PriceBranchId/>
<ns1:ResponseDetails>INCLUDE_BRANCH_INFO</ns1:ResponseDetails>
<ns1:ChangedSinceDate>2019-07-09T00:00:00.000+02:00</ns1:ChangedSinceDate>
</ns1:request>
</ns1:GetArticles>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Этот ответ дает мне что-то вроде этого:

[...]
<IterationStatus>
               <IterationId>ArticleRequest_de17201d-5fcd-4d93-8ecf-1977f60f32fa</IterationId>
               <MaxCount>767</MaxCount>
               <Count>50</Count>
               <RequestedBlockIndex>0</RequestedBlockIndex>
               <RequestedBlockSize>50</RequestedBlockSize>
               <IterationInfo>F4R returned (50) Articles.</IterationInfo>
            </IterationStatus>
[...]

Теперь мне нужно добавить IterationId к моему запросу, увеличить BlockIndex на единицу и снова вызывать до тех пор, пока счетчик не станет равен 0

Как это может сделать Pentaho?

...