378.11. 关于使用 XSLT 和 Java 版本的信息


以下是来自一个 Camel 用户的 Sameer 的一些观察结果,他与我们共享:

如果任何人在 XSLT 端点时遇到问题,请检查这些点。

我尝试使用 xslt 端点来通过简单的 xsl 从一个 xml 简单转换为另一个。输出 xml 出现(在路由中的 xslt 处理器之后),以及没有任何内容的 xml 标签。

DEBUG 日志中不会显示任何解释。但是,在 TRACE 日志上,我发现一些错误/警告,指示 XMLConverter bean 无法初始化。

在短短几小时之后,我必须进行以下操作才能正常工作(感谢一些线上向用户的一些文章给出了一些线索):

  1. 使用路由中的 transformerFactory 选项 ("xslt:my-transformer.xsl?transformerFactory= tFactory "),在 class="org.apache.xalan.xsltc.trax.TransformerFactoryImpl" spring 上下文中定义 bean。
  2. 将 Xalan jar 添加到 my maven pom 中。

My guess 是 JDK 中提供的默认 xml 解析机制(I am using 1.6.0_03)无法在此上下文中正常工作,且不会抛出任何错误。当我切换到 Xalan 时,它可以正常工作。这不是 Camel 问题,但可能需要提到 xslt 组件页面。

另一个备注,jdk 1.6.0_03 附带 JAXB 2.0,而 Camel 需要 2.1。一个临时解决方案是将 2.1 jar 添加到 jvm 的 jre/lib/endorsed 目录中,或由容器指定。

希望此后,新的 Camel riders 有时可节省大量时间。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat