在XSLT2中通过HTTPS处理外部文件

时间:2011-11-16 13:22:41

标签: java https xslt saxon

我使用未解析的文本函数来分析XSLT中的外部文件。这适用于HTTP-Urls。但是当尝试通过HTTPS加载时它会失败。首先,我尝试将凭证放在URL中,登录和密码(带或不带URLEncoding,具有特殊字符的密码所必需)通过参数分配给XSLT(来自使用Saxon HE 9.3.0.5库的JAVA代码)。结果:

  

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)抛出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 :(得分:0)

您是否已成功安装了this post (last paragraphs)中所述的expath-saxon软件包?显然xsl文件只引用重载的send-request方法的java实现,所以你可能只需要expath-http-client-saxon/xsl/expath-http-client-saxon.xsl {{1}}行的{。}}。

希望有所帮助,

最好的问候,

的Carsten