XProc для доступа к данным XML с FTP (с аутентификацией)
Моя цель - получить доступ к XML-документу на FTP-сервере через XProc. Этот конкретный FTP-сервер требует аутентификации.
Я использую последнюю версию Calabash (1.1.6-96) на Java 8.
Следующий XProc отлично работает, когда аутентификация не требуется:
<p:declare-step xmlns:p="http://www.w3.org/ns/xproc"
xmlns:c="http://www.w3.org/ns/xproc-step" version="1.0">
<p:input port="source">
<p:document href="ftp://ftp.hq.nasa.gov/index.html"/>
</p:input>
<p:output port="result"/>
<p:identity/>
</p:declare-step>
Но если вы попытаетесь получить доступ к FTP-серверу, который требует аутентификации:
<p:declare-step xmlns:p="http://www.w3.org/ns/xproc"
xmlns:c="http://www.w3.org/ns/xproc-step" version="1.0">
<p:input port="source">
<p:document href="ftp://user:passwordd@ftp.example.org/example.xml"/>
</p:input>
<p:output port="result"/>
<p:identity/>
</p:declare-step>
Calabash вернет ошибку:
ОШИБКА. Это динамическая ошибка, если ресурс, на который ссылается элемент a p:document, не существует, недоступен или не является правильно сформированным XML-документом.
Указывает, что он не может получить доступ к документу.
Странно, у меня есть более старая установка Oxygen (16.0), которая шла с более старой версией Calabash (1.0.*), А второй XProc, который использует аутентификацию, работает отлично. Итак, либо что-то изменилось в Calabash, либо есть что-то еще, связанное со старой конфигурацией Oxygen/Calabash, которая просто заставляет его работать.
Я также открыт для альтернативных методов доступа к этому файлу. Я уже пытался поменяться <p:document>
за <p:http-request>
, но это не сработало.