Cocoon Cinclude из другого трубопровода
У меня есть установка Cocoon с конвейером, преобразователь которого содержит что-то вроде этого:
<cinclude:include src="https://my-app/get-some-data" />
Теперь включенный там URL-адрес фактически получен от Cocoon, и у меня есть сертификат TLS, которому Java не доверяет, поэтому я получаю ошибки о путях сертификации PKI. Я могу "легко" решить эту проблему (и уже некоторое время), указав хранилище доверенных сертификатов для процесса JVM, в котором содержится сертификат TLS моего сервера.
Я хотел бы прекратить делать это по крайней мере по двум причинам:
- Когда мой сертификат сервера требует обновления, я должен обновить свое хранилище доверенных сертификатов и отослать Cocoon
- Это может быть более эффективным (без обратной петли HTTP-запроса, без TLS-рукопожатия и т. Д.)
Cinclude понимает относительные пути Кокон?
Я ищу что-то вроде этого:
<cinclude:include src="cocoon://get-some-data" />
Существует ли что-то подобное?
1 ответ
Да, вы можете сделать именно это. Желаемый синтаксис уже под вопросом, с небольшой модификацией. Например, скажем, у нас есть это match
настроен в sitemap
:
<map:match pattern="get-some-data">
...
</map:match>
<map:match pattern="primary-request">
...
<map:transform type="cinclude" />
..
</map:match>
С помощью <cinclude>
в конвейере "первичного запроса" для включения из другого конвейера просто требуется следующее:
<cinclude:include src="cocoon:/get-some-data?parameters" />
Эта особенность будет работать только для конвейеров в пределах одной и той же карты сайта. Если вам нужно сослаться на конвейеры в других файлах сайта, это требует немного большей настройки - но это выходит за рамки вопроса, здесь.