2013-05-06 8 views
9

私はRESTful WebサービスをTomcatにデプロイしました。 'Webサービスは同じドメインのシナリオでクライアント/サーバーで正常に動作していますが、これに対してクロスドメインからWebサービスを利用できるようにする必要があります。目的私はCORSフィルターを使用しました。SEVERE:例外CORSを開始するCORS

私は/ libとtomcatに/ libの両方MyProjectsでは、フィルタのjarファイルが含まれている「ともWebサービスプロジェクトの私のweb.xmlファイルに次のように含まれている」

<filter> 
    <filter-name>CORS</filter-name> 
    <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class> 
</filter> 

<init-param> 
    <param-name>cors.supportedHeaders</param-name> 
    <param-value>Accept, Origin, X-Requested-With, Content-Type, Last-Modified</param-value> 
</init-param> 

<filter-mapping> 
    <filter-name>CORS</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

をしかし、私はウェブを起動しようとすると、サービス私はCORSフィルタに関する次のエラーが表示されます。

SEVERE: Exception starting filter CORS 
java.lang.NoClassDefFoundError: com/thetransactioncompany/util/PropertyParseException 
at com.thetransactioncompany.cors.CORSFilter.init(CORSFilter.java:100) 

は親切にこのような状況と間違っているかを把握するために私を導く」

+0

はCORSFilterの初期化中にいくつかの問題のように見えます。 initパラメータを削除し、デフォルトで試してみることをお勧めします。 –

+0

お返事はありがたいですが、うまくいきませんので、今はjsonpに切り替えてクロスドメインの問題に取り組んでいます – pointer

答えて

13

をあなたは、Java-プロパティ-utilのを追加する必要がありますs-1.7.1.jarファイルをクラスパスに追加する必要があります。

http://search.maven.org/#browse%7C-411787350

+0

これはtomcatと一緒にパッケージ化してはいけませんか? (Debian/Ubuntuの.debパッケージなど) – a1an

+0

ところで、Tomcatのlibディレクトリに追加しようとしましたが、問題は解決しません。 – a1an

0

これは、バージョンの問題だったかもしれません。私は同じ問題を抱えていましたが、このフィルタは最低限のTomcatバージョン7.0.41で動作する必要があります。

参考として、Debian 7.8はネイティブCORSをサポートしていません。

0

私は同じ問題がありました。私の場合、問題は、プロジェクトpropertiesDeployment Assemblyセクションから削除されていたことでした。誰かを助けることを願っています。

0

私のケースでは、tomcat libフォルダに以下の2つのjarファイルを追加することで問題が解決しました。

CORS-フィルタ-2.5.jar のjava-プロパティ-utilsの-1.10.jar

関連する問題