Talend - Проверьте tEsbConsumer Soap response и подсчитайте поля с тем же именем - PullRequest
0 голосов
/ 21 мая 2018

Я пытаюсь проверить, содержит ли ответ от действия tEsbConsumer более одного тега с конкретным именем.Предположим, что ответ выглядит следующим образом:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Body>
      <ns1:CustomerSearchResponse xmlns="http://test.com/CustomerSearchResponse/" xmlns:ns1="http://test.com/CustomerSearchResponse/">
         <ns1:Success>
            <ns1:Customers>
               <ns1:Customer>
                  <ns1:CustomerId>12</ns1:CustomerId>
                  <ns1:Surname>Sur1</ns1:Surname>
               </ns1:Customer>
               <ns1:Customer>
                  <ns1:CustomerId>34</ns1:CustomerId>
                  <ns1:Surname>Sur2</ns1:Surname>
               </ns1:Customer>
            </ns1:Customers>
         </ns1:Success>
      </ns1:CustomerSearchResponse>
   </soapenv:Body>
</soapenv:Envelope>

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

Talend Code

На основеКоличество возвращенных клиентов Я бы хотел перенаправить сообщение в разные строки.Дополнительная переменная с переменной count () тоже подойдет мне.Xpath в txmlmap не работают, преобразователь tXSLT должен иметь файл на входе, а tExtractXMLField не работает в такой форме:

tExtractXMLField mapping

Кто-нибудьесть идеи как это сделать?

...