You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@syncope.apache.org by Nik <ni...@usharesoft.com> on 2013/07/12 14:56:38 UTC

syncope generates an exception in GlassFish

Hi Guys,

I'm seeing the following exception generated from syncope when using the 
console

I think could be related to bug 
https://issues.apache.org/jira/browse/SYNCOPE-376

Where we change (in applicationContext.xml)

<bean id="restTemplate" 
class="org.springframework.web.client.RestTemplate" scope="session">
<constructor-arg ref="httpClientFactory"/>
<property name="messageConverters">
<list>
<ref bean="mappingJacksonHttpMessageConverter"/>
</list>
</property>
<property name="errorHandler">
<bean id="syncopeClientErrorHandler" 
class="org.apache.syncope.common.validation.SyncopeClientErrorHandler"/>
</property>
</bean>

to

<bean id="restTemplate" 
class="org.springframework.web.client.RestTemplate" scope="prototype">
<constructor-arg ref="httpClientFactory"/>
<property name="messageConverters">
<list>
<ref bean="mappingJacksonHttpMessageConverter"/>
</list>
</property>
<property name="errorHandler">
<bean id="syncopeClientErrorHandler" 
class="org.apache.syncope.common.validation.SyncopeClientErrorHandler"/>
</property>
</bean>

org.springframework.beans.factory.BeanCreationException: Error creating 
bean with name 'restTemplate' defined in class path resource 
[applicationContext.xml]: Cannot resolve reference to bean 
'httpClientFactory' while setting constructor argument; nested exception 
is org.springframework.beans.factory.BeanCreationException: Error 
creating bean with name 'httpClientFactory' defined in class path 
resource [applicationContext.xml]: Could not resolve matching 
constructor (hint: specify index/type/name arguments for simple 
parameters to avoid type ambiguities)
     at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:329)
     at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107)
     at 
org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:629)
     at 
org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:148)
     at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1045)
     at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:949)
     at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:487)
     at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
     at 
org.springframework.beans.factory.support.AbstractBeanFactory$2.getObject(AbstractBeanFactory.java:333)
     at 
org.springframework.web.context.request.AbstractRequestAttributesScope.get(AbstractRequestAttributesScope.java:43)
     at 
org.springframework.web.context.request.SessionScope.get(SessionScope.java:92)
     at 
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:329)
     at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:198)
     at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:273)
     at 
org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1125)
     at 
org.apache.syncope.console.SyncopeSession.<init>(SyncopeSession.java:99)
     at 
org.apache.syncope.console.SyncopeApplication.newSession(SyncopeApplication.java:182)
     at 
org.apache.wicket.Application.fetchCreateAndSetSession(Application.java:1557)
     at org.apache.wicket.Session.get(Session.java:168)
     at 
org.apache.syncope.console.SyncopeSession.get(SyncopeSession.java:90)
     at 
org.apache.syncope.console.SyncopeRequestCycleListener.onException(SyncopeRequestCycleListener.java:65)
     at 
org.apache.wicket.request.cycle.RequestCycleListenerCollection$4.notify(RequestCycleListenerCollection.java:126)
     at 
org.apache.wicket.request.cycle.RequestCycleListenerCollection$4.notify(RequestCycleListenerCollection.java:122)
     at 
org.apache.wicket.util.listener.ListenerCollection.notify(ListenerCollection.java:80)
     at 
org.apache.wicket.request.cycle.RequestCycleListenerCollection.onException(RequestCycleListenerCollection.java:121)
     at 
org.apache.wicket.request.cycle.RequestCycleListenerCollection$4.notify(RequestCycleListenerCollection.java:126)
     at 
org.apache.wicket.request.cycle.RequestCycleListenerCollection$4.notify(RequestCycleListenerCollection.java:122)
     at 
org.apache.wicket.util.listener.ListenerCollection.notify(ListenerCollection.java:80)
     at 
org.apache.wicket.request.cycle.RequestCycleListenerCollection.onException(RequestCycleListenerCollection.java:121)
     at 
org.apache.wicket.request.cycle.RequestCycle.handleException(RequestCycle.java:347)
     at 
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:229)
     at 
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289)
     at 
org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259)
     at 
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201)
     at 
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
     at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
     at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
     at 
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
     at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
     at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
     at 
org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
     at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
     at 
com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
     at 
com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
     at 
com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849)
     at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746)
     at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045)
     at 
com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
     at 
com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
     at 
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
     at 
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
     at 
com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
     at 
com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
     at 
com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
     at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
     at 
com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
     at 
com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
     at java.lang.Thread.run(Thread.java:724)
Caused by: org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 'httpClientFactory' defined in class path 
resource [applicationContext.xml]: Could not resolve matching 
constructor (hint: specify index/type/name arguments for simple 
parameters to avoid type ambiguities)
     at 
org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:250)
     at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1045)
     at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:949)
     at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:487)
     at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
     at 
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:314)
     at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
     at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323)
     ... 59 more


Any help would be appreciated.

rgds,
Nik

Re: syncope generates an exception in GlassFish

Posted by Francesco Chicchiriccò <il...@apache.org>.
On 15/07/2013 08:36, Francesco Chicchiriccò wrote:
> On 12/07/2013 14:56, Nik wrote:
>> Hi Guys,
>>
>> I'm seeing the following exception generated from syncope when using 
>> the console
>>
>> I think could be related to bug 
>> https://issues.apache.org/jira/browse/SYNCOPE-376
>>
>> Where we change (in applicationContext.xml)
>>
>> <bean id="restTemplate" 
>> class="org.springframework.web.client.RestTemplate" scope="session">
>> <constructor-arg ref="httpClientFactory"/>
>> <property name="messageConverters">
>> <list>
>> <ref bean="mappingJacksonHttpMessageConverter"/>
>> </list>
>> </property>
>> <property name="errorHandler">
>> <bean id="syncopeClientErrorHandler" 
>> class="org.apache.syncope.common.validation.SyncopeClientErrorHandler"/>
>> </property>
>> </bean>
>>
>> to
>>
>> <bean id="restTemplate" 
>> class="org.springframework.web.client.RestTemplate" scope="prototype">
>> <constructor-arg ref="httpClientFactory"/>
>> <property name="messageConverters">
>> <list>
>> <ref bean="mappingJacksonHttpMessageConverter"/>
>> </list>
>> </property>
>> <property name="errorHandler">
>> <bean id="syncopeClientErrorHandler" 
>> class="org.apache.syncope.common.validation.SyncopeClientErrorHandler"/>
>> </property>
>> </bean>
>
> Hi Nik,
> you encounter this exception only when changing from "session" to 
> "prototype" only because with "session" another exception occurs before.
>
>> [...]
>> Caused by: org.springframework.beans.factory.BeanCreationException: 
>> Error creating bean with name 'httpClientFactory' defined in class 
>> path resource [applicationContext.xml]: Could not resolve matching 
>> constructor (hint: specify index/type/name arguments for simple 
>> parameters to avoid type ambiguities)
>
> It seems that there is somewhere in the classpath an ancient version 
> of PreemptiveAuthHttpRequestFactory [1] that conflicts with the one 
> that the admin console is thinking to work with: may I suggest to 
> clean, rebuild everything (core included) and to check if there is an 
> old syncope-client JAR file out there?

...or rather to check if 
console/src/main/resources/applicationContext.xml is the same as per [2]?

> Regards.
>
> [1] 
> http://svn.apache.org/repos/asf/syncope/branches/1_1_X/client/src/main/java/org/apache/syncope/client/http/PreemptiveAuthHttpRequestFactory.java
[2] 
http://svn.apache.org/repos/asf/syncope/branches/1_1_X/console/src/main/resources/applicationContext.xml

-- 
Francesco Chicchiriccò

ASF Member, Apache Syncope PMC chair, Apache Cocoon PMC Member
http://people.apache.org/~ilgrosso/


Re: syncope generates an exception in GlassFish

Posted by Francesco Chicchiriccò <il...@apache.org>.
On 12/07/2013 14:56, Nik wrote:
> Hi Guys,
>
> I'm seeing the following exception generated from syncope when using 
> the console
>
> I think could be related to bug 
> https://issues.apache.org/jira/browse/SYNCOPE-376
>
> Where we change (in applicationContext.xml)
>
> <bean id="restTemplate" 
> class="org.springframework.web.client.RestTemplate" scope="session">
> <constructor-arg ref="httpClientFactory"/>
> <property name="messageConverters">
> <list>
> <ref bean="mappingJacksonHttpMessageConverter"/>
> </list>
> </property>
> <property name="errorHandler">
> <bean id="syncopeClientErrorHandler" 
> class="org.apache.syncope.common.validation.SyncopeClientErrorHandler"/>
> </property>
> </bean>
>
> to
>
> <bean id="restTemplate" 
> class="org.springframework.web.client.RestTemplate" scope="prototype">
> <constructor-arg ref="httpClientFactory"/>
> <property name="messageConverters">
> <list>
> <ref bean="mappingJacksonHttpMessageConverter"/>
> </list>
> </property>
> <property name="errorHandler">
> <bean id="syncopeClientErrorHandler" 
> class="org.apache.syncope.common.validation.SyncopeClientErrorHandler"/>
> </property>
> </bean>

Hi Nik,
you encounter this exception only when changing from "session" to 
"prototype" only because with "session" another exception occurs before.

> [...]
> Caused by: org.springframework.beans.factory.BeanCreationException: 
> Error creating bean with name 'httpClientFactory' defined in class 
> path resource [applicationContext.xml]: Could not resolve matching 
> constructor (hint: specify index/type/name arguments for simple 
> parameters to avoid type ambiguities)

It seems that there is somewhere in the classpath an ancient version of 
PreemptiveAuthHttpRequestFactory [1] that conflicts with the one that 
the admin console is thinking to work with: may I suggest to clean, 
rebuild everything (core included) and to check if there is an old 
syncope-client JAR file out there?

Regards.

[1] 
http://svn.apache.org/repos/asf/syncope/branches/1_1_X/client/src/main/java/org/apache/syncope/client/http/PreemptiveAuthHttpRequestFactory.java

-- 
Francesco Chicchiriccò

ASF Member, Apache Syncope PMC chair, Apache Cocoon PMC Member
http://people.apache.org/~ilgrosso/