第179章 検証


検証コンポーネント

Validation コンポーネントは JAXP Validation API を使用してメッセージボディーの XML 検証を実行し、サポートされる任意の XML スキーマ言語(デフォルトは XML スキーマ)に基づきます。
Jing コンポーネントは、以下の便利なスキーマ言語もサポートしていることに注意してください。
MSV コンポーネントは、RelaxNG XML 構文もサポートします

URI 形式

validator:someLocalOrRemoteResource
Copy to Clipboard Toggle word wrap
someLocalOrRemoteResource は、クラスパス上のローカルリソースへの URL、または検証する XSD を含むファイルシステムのリモートリソースまたはリソースへの完全な URL になります。以下に例を示します。
Camel 2.8 以前を使用している場合、Maven ユーザーは、このコンポーネントの pom.xml に以下の依存関係を追加する必要があります。
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-spring</artifactId>
    <version>2.17.0.redhat-630xxx</version>
    <!-- use the same version as your Camel core version -->
</dependency>
Copy to Clipboard Toggle word wrap
Camel 2.9 以降では、Validation コンポーネントは camel-core に直接提供されます。

オプション

Expand
オプション デフォルト 説明
resourceResolverFactory DefaultValidatorResourceResolverFactory Camel 2.17: エンドポイントごとにリソースリゾルバーを作成する org.apache.camel.component.validator.ValidatorResourceResolverFactory を参照します。デフォルトの実装では、デフォルトのリソースリゾルバー org.apache.camel.component.validator.DefaultLSResourceResolver を作成するエンドポイントごとに org.apache.camel.component.validator.DefaultLSResourceResolver のインスタンスを作成します。デフォルトのリソースリゾルバーは、クラスパスとファイルシステムからスキーマファイルを読み取ります。このオプションは、resourceResolver オプションではなく、リソースリゾルバーがエンドポイントで指定されたルートスキーマドキュメントのリソース URI に依存する場合に使用されます。たとえば、デフォルトのリソースリゾルバーを拡張する場合などです。このオプションは Validator コンポーネントでも利用できるため、リソースリゾルバーファクトリーはすべてのエンドポイントに対して 1 回のみ設定できます。
resourceResolver null Camel 2.9: レジストリーの org.w3c.dom.ls.LSResourceResolver への参照。
useDom false Apache Camel 2.0: DOMSource/{{DOMResult}} または SaxSource/{{SaxResult}} をバリデーターが使用するかどうか。
useSharedSchema true Camel 2.3: スキーマ インスタンスを共有すべきかどうか。このオプションは、JDK 1.6.x バグ を回避するために導入されています。Xerces にはこの問題はありません。
failOnNullBody true Camel 2.9.5/2.10.3: ボディーが存在しない場合に失敗するかどうか。
headerName null Camel 2.11: メッセージボディーではなくヘッダーに対して検証するには、以下を行います。
failOnNullHeader true Camel 2.11: ヘッダーに対して検証する際にヘッダーが存在しない場合に失敗するかどうか。

以下の は、エンドポイント direct:start からのルートを設定する方法を示しています。これは、XML が(クラスパスで提供されている)指定されたスキーマと一致するかどうかに基づいて、2 つのエンドポイント( mock:valid または mock:invalid )のいずれかになります。
    <route>
        <from uri="direct:start"/>
        <doTry>
            <to uri="validator:org/apache/camel/component/validator/schema.xsd"/>
            <to uri="mock:valid"/>
            <doCatch>
                <exception>org.apache.camel.ValidationException</exception>
                <to uri="mock:invalid"/>
            </doCatch>
            <doFinally>
                <to uri="mock:finally"/>
            </doFinally>
        </doTry>
    </route>
Copy to Clipboard Toggle word wrap

Advanced: JMX method clearCachedSchema

Camel 2.17 以降、バリデーターエンドポイント内のキャッシュされたスキーマが消去され、JMX 操作 clearCachedSchema を使用して次のプロセス呼び出しで再読み取りされるように強制できます。この方法を使用して、キャッシュをプログラム的にクリアすることもできます。このメソッドは、ValidatorEndpoint クラスで利用できます。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat