Обрабатывать внешние файлы через HTTPS внутри XSLT2 - PullRequest
1 голос
/ 16 ноября 2011

Я использую функцию unparsed-text для анализа внешних файлов в XSLT. Это хорошо работает для HTTP-URL. Но при попытке загрузки через HTTPS происходит сбой. Сначала я попытался поместить учетные данные в URL, логин и пароль (с или без URLEncoding, необходимые для паролей со специальными символами) назначаются через параметры XSLT (из кода JAVA с использованием библиотеки Saxon HE 9.3.0.5). Результат:

XTDE1170: java.io.IOException: сервер вернул код ответа HTTP: 401 для URL

URL-адрес правильный внутри любого браузера и покажет файл. Сертификат сервера импортируется через keytool (без этого появляется другое сообщение об ошибке ...)

Моя следующая попытка включает внешние библиотеки как

http://www.fgeorges.org/xslt/saxon-ext/#http

в результате

Ошибка при вызове функции расширения {public static net.sf.saxon.om.NodeInfo org.fgeorges.xslt.Exslt2.httpSend (net.sf.saxon.expr.XPathContext, net.sf.saxon.om.NodeInfo , java.lang.String) throws net.sf.saxon.trans.XPathException}: исключение в функции расширения java.lang.IllegalStateException: есть еще один элемент?!? - Есть еще один элемент?!?

(... бьет меня ...)

и

http://www.expath.org/modules/http-client/

, где я не могу импортировать его с

<xsl:import href="http://expath.org/ns/http-client.xsl"/>

, поскольку указанный файл просто не существует ...

Конец всей моей мудрости ...;) Есть идеи?

Спасибо и ура!

1 Ответ

0 голосов
/ 24 ноября 2011

Вы успешно установили пакет expath-saxon, как описано в этом сообщении (последние абзацы) ? очевидно, файл xsl ссылается только на реализацию java перегруженных методов отправки-запроса, поэтому вам может понадобиться только немного .xsl по строкам expath-http-client-saxon/xsl/expath-http-client-saxon.xsl из этого архива .

надеюсь, что поможет,

С наилучшими пожеланиями,

Карстен

...