Hi Massimiliano,

I'm glad to see you found the solution yourself. Good job!

I'm currently working on SYNCOPE-286 to remove Spring MVC, my problem here is 
that it looks like that a couple of recent changes to trunk have broken the cxf 
build / tests.
I hope to resolve these issues by tomorrow.

Best regards.
Jan

> -----Original Message-----
> From: Massimiliano Perrone [mailto:massimiliano.perr...@tirasa.net]
> Sent: Freitag, 31. Mai 2013 15:08
> To: dev@syncope.apache.org
> Subject: Re: CXF problem deploying Syncope in Glasshfish
> 
> On 31/05/2013 14:46, Massimiliano Perrone wrote:
> > Hi CXF guys,
> > I have a little question for you :)
> >
> > In this moment, deploying Syncope in Glassfish, we have following
> > execption:
> >
> > Root cause:
> >
> > java.lang.NoSuchMethodError:
> > javax.ws.rs.core.Response.getHeaderString(Ljava/lang/String;)Ljava/lan
> > g/String;
> > at
> >
> org.apache.syncope.console.commons.HttpResourceStream.<init>(HttpRes
> ou
> > rceStream.java:49)
> > at
> > org.apache.syncope.console.pages.Configuration$4.onClick(Configuration
> > .java:341)
> >
> >
> > The cause is that Glassfish's library contain jersey-core.jar because:
> >
> > jar tvf jersey-core.jar:
> >  2842 Sat Mar 31 18:48:48 CEST 2012
> > javax/ws/rs/core/Response$ResponseBuilder.class
> >   1392 Sat Mar 31 18:48:48 CEST 2012
> > javax/ws/rs/core/Response$Status$Family.class
> >   3979 Sat Mar 31 18:48:48 CEST 2012
> > javax/ws/rs/core/Response$Status.class
> >    462 Sat Mar 31 18:48:48 CEST 2012
> > javax/ws/rs/core/Response$StatusType.class
> >   5153 Sat Mar 31 18:48:48 CEST 2012 javax/ws/rs/core/Response.class
> >
> > and syncope and syncope-console war have the same classes in
> > javax.ws.rs-api-2.0-m15.jar library.
> >
> > To solve it I try cxf documentation in
> > http://cxf.apache.org/docs/application-server-specific-configuration-g
> > uide.html
> > where I found
> >
> >
> >    Glassfish
> >
> > CXF Interceptors will not work in Glassfish without this sun-web.xml
> > file to configure the classloader. By default, Glassfish will use
> > Metro for JAX-WS services so the classloader needs to be configured to
> > allow CXF libraries to provide JAX-WS services. The following
> > sun-web.xml xml source was added to /WEB-INF to resolve this issue:
> >
> > <?xml version="1.0"  encoding="UTF-8"?> <!DOCTYPE sun-web-app
> PUBLIC
> > '-//Sun Microsystems, Inc.//DTD Application Server 9.0 Servlet
> > 2.5//EN'
> > 'http://www.sun.com/software/appserver/dtds/sun-web-app_2_5-
> 0.dtd'>
> > <sun-web-app>
> > <class-loader delegate="false"/>
> > </sun-web-app>
> >
> >
> > but the situation isn't changed because Glassfish documentation in
> > http://docs.oracle.com/cd/E18930_01/html/821-2418/gfqpi.html
> > "For a number of packages, including java.* and javax.*, symbol
> > resolution is always delegated to the parent class loader regardless
> > of the delegate setting. This prevents applications from overriding
> > core Java runtime classes or changing the API versions of
> > specifications that are part of the Java EE platform."
> >
> > Now....how can we solve this library conflict? Have you any suggestions?
> > Thanks for your help.
> 
> I found the solution, add this property to JVM Option of glassfish instance:
> 
> -
> Dcom.sun.enterprise.overrideablejavaxpackages=javax.ws.rs,javax.ws.rs.cor
> e,javax.ws.rs.ext
> 
> of course after adding glassfish-web.xml to webapp.
> 
> Massimiliano
> 
> >
> > Massimiliano
> >
> 
> 
> --
> Massimiliano Perrone
> Tel +39 393 9121310
> 
> Tirasa S.r.l.
> Viale D'Annunzio 267 - 65127 Pescara
> Tel +39 0859116307 / FAX +39 0859111173
> http://www.tirasa.net
> 
> Apache Syncope PMC Member
> http://people.apache.org/~massi/
> 
> "L'apprendere molte cose non insegna l'intelligenza"
> (Eraclito)

Reply via email to