2011-07-31 9 views
0

私は春のコンフィギュレーションファイルの処理でこの動作に気付きました。
私は私の設定ファイルの2個のエラーがあります:
スプリングコンフィギュレーションファイルのバリデーション

  • 1つの構文(ウェルフォーマット)の誤差を、( "HTML" タグをしようと試み)mispelled終了タグを言う
  • "名前空間"(バリデーション) XMLが有効ではありませんので

エラー(セキュリティ名前空間への間違ったパスをしようと試みたが)、私は、実行時のenvironementが返される最初のエラーは検証エラーと思っていました。

これは当てはまりません(セキュリティ3.0.2の3.0.2)。

これは、最初に戻っ:

一致するワイルドカードは厳しいですが、何の宣言は、要素のために見つけることができない「HTTP」

そして、私はこの最初のエラーを修正するとき、私は(私は何を取得)として最初期待していた:

要素タイプ「HTTP」は、対応する終了タグ「」

0で終了する必要があります

構文チェックについては何が言えますか?構文チェックのプロセスは予備ステップとして実行されていないようですが、チェックと検証は「インターレース」されています。すべてのタグが最初にチェックされ、検証されます。そうですか?それは実装依存ですか?

PS:私の障害のあるXML(スキーマの場所にあるとのhttp終了タグの中に2つのエラーに気づく):

<?xml version="1.0" encoding="UTF-8"?> 
<beans:beans xmlns="http://www.springframework.org/schema/security" 
    xmlns:beans="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
         http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.xsdFIRSTERROR"> 

<http> 
    <form-login /> 
    <http-basic /> 
    <logout /> 
    <intercept-url pattern="/**" access="ROLE_USER" /> 
</SECONDERRORhttp> 

<authentication-manager> 
    <authentication-provider> 
     <user-service> 
      <user name="myuser" password="mysecret" authorities="ROLE_USER" /> 
     </user-service> 
    </authentication-provider> 
</authentication-manager> 

</beans:beans> 

答えて

0

あなたは、「構文チェック」および検証は2回に分けていないということですね。 Springは効率のためにストリーミングXMLパーサを使用します。そのようなパーサーは、通常、エラーの前後にではなく、問題の要素に到達したときにエラーを特定します。