349.11. XSLT と Java バージョンの使用に関する注意事項


以下は、Camel ユーザーである Sameer が共有してくれた、いくつかの意見を紹介します。

XSLT エンドポイントで問題が発生した場合は、これらの点を確認してください。

単純な xsl を使用して、ある xml から別の xml への単純な変換に xslt エンドポイントを使用しようとしていました。出力 xml は、(ルートの xslt プロセッサーの後に) 表示され続け、コンテンツが含まれていない最も外側の xml タグを使用していました。

DEBUG ログに説明が表示されません。ただし、TRACE ログで、XMLConverter Bean を初期化できなかったことを示すエラー/警告が見つかりました。

数時間頭を悩ませた後、それを機能させるために次のことをしなければなりませんでした (手がかりを与えてくれたユーザーフォーラムの投稿のおかげです)。

  1. class="org.apache.xalan.xsltc.trax.TransformerFactoryImpl" の Spring コンテキストで定義された Bean を持つ tFactory Bean を使用して、ルート ("xslt:my-transformer.xsl?transformerFactory=tFactory") で TransformerFactory オプションを使用します。
  2. Xalan jar を maven pom に追加しました。

私の推測では、JDK 内で提供されるデフォルトの xml 解析メカニズム (私は 1.6.0_03 を使用しています) は、このコンテキストでは正しく機能せず、エラーも発生しません。この方法で Xalan に切り替えると、うまくいきます。これは Camel の問題ではありませんが、xslt コンポーネントページで言及する必要があるかもしれません。

別の注意として、jdk 1.6.0_03 には JAXB 2.0 が同梱されていますが、Camel には 2.1 が必要です。1 つの回避策は、jvm の jre/lib/endorsed ディレクトリーに 2.1 jar を追加するか、コンテナーで指定されたとおりに追加することです。

この投稿が初心者の Camel 使用者の時間を節約できることを願っています.

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat