Связь между двумя парсерами в проводнике данных Watson?
Я пытаюсь достичь концепции файла свойств в Watson Data Explorer, где я храню некоторые данные (имя пользователя, пароль,URL-адреса..) в одном парсере.
1: я создал парсер в разделе Xml.
<parser name="test-properties-parser" modified-by="surya@test" max-elt-id="7" modified="1532098188"> <process-xsl><![CDATA[
<xsl:template match="/">
<test-port>1521</test-port>
<test-username>testuser</test-username>
<test-password>[[vcrypt/3]]xqvC0W+xJ33fY+C/9cjiWJ9RyuzPffOz|zB2EHEd8GWMdP</test-password>
<cookie-username>testadmin</cookie-username>
<cookie-password>testadmin1</cookie-password>
</xsl:template>
]]></process-xsl>
</parser>
Я буду использовать все детали, определенные в парсере в моей коллекции, короче говоря, я определяю все общие и конфиденциальные детали в одном месте и использую их везде, где мне нужно.
2: Теперь я создал одну коллекцию, используя базу данных (Custom SQL) в качестве начального числа и получая всю информацию (хост, порт и т. Д.) Из определенного выше парсера.
EX: Host: <value-of select="viv:process-xml(viv:repository-get('parser','test-properties-parser'))//test-host" />
Это даст мне информацию о хосте, представленную в парсере выше, и он отлично работает для всех полей.
Постановка проблемы: Проблема возникает, когда я использую ту же концепцию для файлов cookie (Конфигурация -> Вкладка сканирования -> Глобальные настройки ->HTTP -> Файлы cookie).
<parse url="http://abc.test.com/cs/login/" method="POST" ignore-http-status="ignore-http-status">
//Hard coded values : working fine
/* <parse-param name="j_username" value="TestUser" />
<parse-param name="j_password" value="TestPassword" /> */
//Get Dynamic values from repository :
parse-param name="j_username"><value-of select="viv:process-xml(viv:repository-get('parser','test-properties-parser'))//cookie-username" /></parse-param>
<parse-param name="j_password"><value-of select="viv:process-xml(viv:repository-get('parser','test-properties-parser'))//cookie-password" /></parse-param>
<parse-param name="j_character_encoding" value="UTF-8" />
<parser type="html-xsl"><![CDATA[
<xsl:template match="/">
<xsl:value-of select="substring-before(viv:current-node()/@cookie-jar,';')" />
</xsl:template>
]]></parser>
</parse>
Невозможно сканировать этот URL, так как оба параметра (имя пользователя, пароль) пусты.
Функция: viv:process-xml(viv:repository-get('parser','test-properties-parser'))//cookie-username
возвращает ноль, если я использую внутри тега разбора.
Есть ли другая функция, которую я могу использовать здесь? или любой другой подход я могу попробовать?