Skip to Content
0
Former Member
Jul 03, 2006 at 01:16 PM

ClassNotFoundException for Spring class

92 Views

Hi,

We are migrating application from WebSphere to SAP NetWeaver. Our Web module uses JAAS for authentication.

In the custom login module we are using Spring framework. We are creating BeanFactory using:

[code]BeanFactory beanFactory = new ClassPathXmlApplicationContext ("conf/service-client/client-prop.xml");[/code]

Content of client-prop.xml is :

[code]<?xml version="1.0" encoding="UTF-8"?>

http://www.springframework.org/dtd/spring-beans.dtd">

<beans>

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" >

<property name="location">

<value>conf/service-client/client.properties</value>

</property>

</bean>

<bean id="ClientProperty" class="com.mypkg.common.service.bootstrap.types.ServiceClientProperty">

<property name="url">

<value>$://$:$/$/services</value>

</property>

<property name="namespacePrefix">

<value>$</value>

</property>

</bean>

</beans>[/code]

Now we are getting the exception:

[code]1.5#000FFE10ED0E0043000000030000090C000417A932F6D6B4#1151915378772#com.sap.engine.services.security#sap.com/MyWeb#com.sap.engine.services.security#Guest#2####11191b600a6e11dbca17000ffe10ed0e#SAPEngine_Application_Thread[impl:3]_35##0#0#Error##Java###Exception #1#com.sap.engine.services.security.exceptions.BaseLoginException: Error in some of the login modules.

at com.sap.engine.services.security.login.ModulesProcessAction.run(ModulesProcessAction.java:146)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.services.security.login.FastLoginContext.login(FastLoginContext.java:152)

at com.sap.engine.system.SystemLoginModule.login(SystemLoginModule.java:90)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:324)

at javax.security.auth.login.LoginContext.invoke(LoginContext.java:675)

at javax.security.auth.login.LoginContext.access$000(LoginContext.java:129)

at javax.security.auth.login.LoginContext$4.run(LoginContext.java:610)

at java.security.AccessController.doPrivileged(Native Method)

at javax.security.auth.login.LoginContext.invokeModule(LoginContext.java:607)

at javax.security.auth.login.LoginContext.login(LoginContext.java:534)

at com.mypkg.client.security.actions.LoginAction.executeLogic(LoginAction.java:43)

at com.mypkg.client.framework.action.Action.execute(Action.java:67)

at com.mypkg.client.framework.action.Action.execute(Action.java:41)

at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)

at com.mypkg.client.framework.action.RequestProcessor.processActionPerform(RequestProcessor.java:53)

at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)

at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)

at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:385)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:263)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:340)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:318)

at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:821)

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:239)

at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)

at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:147)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)

at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:162)

Caused by: java.lang.ExceptionInInitializerError

at com.mypkg.common.service.client.ServiceClientFactory.getProxy(ServiceClientFactory.java:131)

at com.mypkg.common.service.client.ServiceClientFactory.getService(ServiceClientFactory.java:56)

at com.mypkg.client.security.auth.UPServiceLoginModule.login(UPServiceLoginModule.java:101)

at com.sap.engine.services.security.login.ModulesProcessAction.run(ModulesProcessAction.java:68)

... 37 more

Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Error registering bean with name 'propertyConfigurer' defined in class path resource [conf/service-client/client-prop.xml]: Bean class [org.springframework.beans.factory.config.PropertyPlaceholderConfigurer] not found; nested exception is com.sap.engine.frame.core.load.SAPClassNotFoundException: org.springframework.beans.factory.config.PropertyPlaceholderConfigurer

at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parseBeanDefinitionElement(DefaultXmlBeanDefinitionParser.java:428)

at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parseBeanDefinitionElement(DefaultXmlBeanDefinitionParser.java:335)

at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parseBeanDefinitions(DefaultXmlBeanDefinitionParser.java:266)

at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.registerBeanDefinitions(DefaultXmlBeanDefinitionParser.java:186)

at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:238)

at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:155)

at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:124)

at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:140)

at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:103)

at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:71)

at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:87)

at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:267)

at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:80)

at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:65)

at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:56)

at com.mypkg.common.service.bootstrap.BootstrapServiceClient.getClientProperty(BootstrapServiceClient.java:119)

at com.mypkg.common.service.bootstrap.BootstrapServiceClient.<init>(BootstrapServiceClient.java:48)

at com.mypkg.common.service.bootstrap.BootstrapServiceClient.<clinit>(BootstrapServiceClient.java:39)

... 41 more

Caused by: java.lang.ClassNotFoundException: org.springframework.beans.factory.config.PropertyPlaceholderConfigurer

-


Loader Info -


ClassLoader name: [common:library:com.sap.security.api.sda;library:com.sap.security.core.sda;library:security.class;library:webservices_lib;service:com.sap.security.core.ume.service;service:connector;service:dbpool;service:keystore;service:security;service:userstore]

Parent loader name: [Frame ClassLoader]

References:

library:com.sap.ip.basecomps

library:core_lib

common:library:IAIKSecurity;library:activation;library:mail;library:tcsecssl

library:servlet

library:sapxmltoolkit

library:com.sap.mw.jco

library:com.sap.util.monitor.jarm

library:j2eeca

library:opensql

interface:security

interface:log

interface:shell

interface:keystore_api

library:ejb20

interface:webservices

library:com.sap.guid

interface:appcontext

interface:endpoint_api

interface:resourceset_api

interface:resourcecontext_api

common:service:iiop;service:naming;service:p4;service:ts

interface:ejbcomponent

interface:container

interface:visual_administration

interface:transactionext

interface:dsr_ejbcontext_api

service:timeout

service:memory

service:deploy

library:antlr

library:jdbdictionary

library:opensqlextensions

service:adminadapter

interface:cross

Resources:

E:
usr
sap
J2E
JC00
j2ee
cluster
server0
bin
ext
com.sap.security.api.sda
com.sap.security.api.perm.jar

E:
usr
sap
J2E
JC00
j2ee
cluster
server0
bin
services
keystore
keystore.jar

E:
usr
sap
J2E
JC00
j2ee
cluster
server0
bin
ext
security.class
tc_sec_saml_service_api.jar

E:
usr
sap
J2E
JC00
j2ee
cluster
server0
bin
ext
webservices_lib
jaxm-api.jar

E:
usr
sap
J2E
JC00
j2ee
cluster
server0
bin
services
connector
connectorimpl.jar

E:
usr
sap
J2E
JC00
j2ee
cluster
server0
bin
ext
com.sap.security.api.sda
com.sap.security.api.jar

E:
usr
sap
J2E
JC00
j2ee
cluster
server0
bin
services
com.sap.security.core.ume.service
com.sap.security.core.ume.service.jar

E:
usr
sap
J2E
JC00
j2ee
cluster
server0
bin
ext
com.sap.security.core.sda
com.sap.security.core.jar

E:
usr
sap
J2E
JC00
j2ee
cluster
server0
bin
ext
security.class
tc_sec_jaas_test.jar

E:
usr
sap
J2E
JC00
j2ee
cluster
server0
bin
ext
security.class
tc_sec_saml_jaas.jar

E:
usr
sap
J2E
JC00
j2ee
cluster
server0
bin
ext
webservices_lib
webservices_lib.jar

E:
usr
sap
J2E
JC00
j2ee
cluster
server0
bin
services
userstore
userstore.jar

E:
usr
sap
J2E
JC00
j2ee
cluster
server0
bin
ext
com.sap.security.core.sda
com.sap.security.core.tpd.jar

E:
usr
sap
J2E
JC00
j2ee
cluster
server0
bin
ext
security.class
tc_sec_https.jar

E:
usr
sap
J2E
JC00
j2ee
cluster
server0
bin
ext
security.class
tc_sec_saml_xmlbind.jar

E:
usr
sap
J2E
JC00
j2ee
cluster
server0
bin
services
dbpool
sqljimpl.jar

E:
usr
sap
J2E
JC00
j2ee
cluster
server0
bin
services
security
security.jar

E:
usr
sap
J2E
JC00
j2ee
cluster
server0
bin
ext
security.class
tc_sec_ssf.jar

E:
usr
sap
J2E
JC00
j2ee
cluster
server0
bin
services
dbpool
opensqllib.jar

E:
usr
sap
J2E
JC00
j2ee
cluster
server0
bin
ext
security.class
tc_sec_jaas.jar

E:
usr
sap
J2E
JC00
j2ee
cluster
server0
bin
services
dbpool
dbpool.jar

E:
usr
sap
J2E
JC00
j2ee
cluster
server0
bin
ext
security.class
tc_sec_compat.jar

E:
usr
sap
J2E
JC00
j2ee
cluster
server0
bin
ext
security.class
tc_sec_saml_toolkit_api.jar

E:
usr
sap
J2E
JC00
j2ee
cluster
server0
bin
ext
webservices_lib
jaxrpc-api.jar

E:
usr
sap
J2E
JC00
j2ee
cluster
server0
bin
ext
security.class
tc_sec_saml_toolkit_core.jar

E:
usr
sap
J2E
JC00
j2ee
cluster
server0
bin
ext
security.class
tc_sec_userstore_lib.jar

E:
usr
sap
J2E
JC00
j2ee
cluster
server0
bin
ext
webservices_lib
saaj-api.jar

E:
usr
sap
J2E
JC00
j2ee
cluster
server0
bin
ext
security.class
tc_sec_saml_util.jar

Loading model: {parent,local,references}

-


at com.sap.engine.frame.core.load.ReferencedLoader.loadClass(ReferencedLoader.java:314)

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:219)

at org.springframework.util.ClassUtils.forName(ClassUtils.java:87)

at org.springframework.beans.factory.support.BeanDefinitionReaderUtils.createBeanDefinition(BeanDefinitionReaderUtils.java:64)

at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parseBeanDefinitionElement(DefaultXmlBeanDefinitionParser.java:369)

... 58 more[/code]

ClassNotFoundException exception is coming for the class: org.springframework.beans.factory.config.PropertyPlaceholderConfigurer but the correponding jar file (spring-beans.jar) exists in the WEB-INF/lib.

Any kind of help will be greatly appreciated.

Regards,

Sagar