2013-05-06 17 views
9

Dispongo di un servizio Web RESTful installato su tomcat 'il servizio Web funziona correttamente nel client/server nello stesso scenario di dominio' ma sono obbligato a rendere disponibile il servizio Web da un dominio incrociato 'per questo scopo ho usato il filtro CORS.SEVERE: filtro iniziale di eccezione CORS

Ho incluso vasi del filtro sia MyProjects/lib e Tomcat/lib 'e hanno anche incluso in seguito nel mio file web.xml del progetto di servizio web'

<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> 

Ma quando provo ad avviare il web servizio ottengo seguente errore di filtro CORS:

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

gentilmente mi guida per capire cosa c'è di sbagliato in questa situazione'

+0

assomiglia a qualche problema in inizializzazione CORSFilter. Ti suggerisco di rimuovere qualsiasi parametro di init e provare di default, se funziona. –

+0

Grazie per la risposta, ma non funziona, quindi sto passando a jsonp per risolvere il problema relativo ai domini incrociati – pointer

risposta

13

è necessario aggiungere java-proprietà-util s-1.7.1.jar file al classpath anche perché il filtro cors ha una dipendenza su di esso.

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

+0

. Dovrebbe essere eseguito insieme a tomcat? (ad esempio nei pacchetti .deb per Debian/Ubuntu) – a1an

+0

BTW, ho appena provato ad aggiungerlo alla directory lib di Tomcat ma questo non risolve il problema. – a1an

0

Potrebbe essere stato un problema di versione. Ho avuto lo stesso problema e risulta che questo filtro richiede almeno Tomcat versione 7.0.41 per funzionare, secondo: http://enable-cors.org/server_tomcat.html

Come riferimento, Debian 7.8 invia Tomcat 7.0.28, che non supporta il CORS nativo.

0

Ho avuto lo stesso problema. Nel mio caso, il problema era che le dipendenze di esperti erano state eliminate dalla sezione Deployment Assembly nel progetto properties. Spero che aiuti qualcuno.

0

Nel mio caso l'aggiunta dei due file jar nella cartella tomcat lib ha risolto il problema.

cors-filtro-2.5.jar java-proprietà-utils-1.10.jar

Problemi correlati