cancel
Showing results for 
Search instead for 
Did you mean: 

EP6.0 Could not instantiate implementation - Linkage error while loading implementation class

Former Member
0 Kudos
225

Hallo,

I have worked with EP5.0 and got used to the .par structure and debugging errors with it.

Now I and am now trying to figure out how the new .par structure of EP6.0 is working and how to debug it.

Here's the current error I am struggling with - it says "Error in init method" followed by the given headline: "Caused by: Could not instantiate implementation - Linkage error while loading implementation class".

I am using a bean and a jsp with the project main class. The portalapp.xml looks as follows:

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

<application alias="Test">

<application-config/>

<components>

<component name="DropDownListBoxExample">

<component-config>

<property name="ClassName" value="tsi.basis.dropdown.DropDownListBoxExample"/>

<property name="SecurityZone" value="tsi.basis.dropdown/low_safety"/>

</component-config>

<component-profile/>

</component>

</components>

<services/>

</application>

I am not sure what exaclty causes this error. Hoping that someone has already been successful in solving this problem, I appreciate input and hints on this.

Regards,

Helga

Below, the stack trace.

com.sapportals.portal.prt.component.PortalComponentException: Error in init method

Component : null

Component class : null

at com.sapportals.portal.prt.component.PortalComponentContext.init(PortalComponentContext.java:246)

at com.sapportals.portal.prt.core.broker.PortalComponentContextItem.refresh(PortalComponentContextItem.java:229)

at com.sapportals.portal.prt.core.broker.PortalComponentContextItem.getContext(PortalComponentContextItem.java:278)

at com.sapportals.portal.prt.component.PortalComponentRequest.getComponentContext(PortalComponentRequest.java:389)

at com.sapportals.portal.prt.connection.PortalRequest.getRootContext(PortalRequest.java:428)

at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:520)

at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:209)

at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:532)

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

at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:415)

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

at com.inqmy.services.servlets_jsp.server.InvokerServlet.service(InvokerServlet.java:126)

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

at com.inqmy.services.servlets_jsp.server.RunServlet.runSerlvet(RunServlet.java:147)

at com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.startServlet(ServletsAndJspImpl.java:789)

at com.inqmy.services.httpserver.server.RequestAnalizer.checkFilename(RequestAnalizer.java:644)

at com.inqmy.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:305)

at com.inqmy.services.httpserver.server.Response.handle(Response.java:166)

at com.inqmy.services.httpserver.server.HttpServerFrame.request(HttpServerFrame.java:1156)

at com.inqmy.core.service.context.container.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:36)

at com.inqmy.core.cluster.impl0.ParserRunner.run(ParserRunner.java:35)

at com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46)

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

at com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:132)

Caused by: com.sapportals.portal.prt.core.broker.PortalComponentInstantiationException: Could not instantiate implementation class tsi.basis.dropdown.DropDownListBoxExample of Portal Component DropDownTest.DropDownListBoxExample because: Linkage error while loading implementation class

at com.sapportals.portal.prt.core.broker.PortalComponentItemFacade.getInstanceInternal(PortalComponentItemFacade.java:231)

at com.sapportals.portal.prt.core.broker.PortalComponentItemFacade.getComponentInstance(PortalComponentItemFacade.java:158)

at com.sapportals.portal.prt.core.broker.PortalComponentItem.getComponentInstance(PortalComponentItem.java:665)

at com.sapportals.portal.prt.component.PortalComponentContext.getComponent(PortalComponentContext.java:98)

at com.sapportals.portal.prt.component.PortalComponentContext.init(PortalComponentContext.java:237)

at com.sapportals.portal.prt.core.broker.PortalComponentContextItem.refresh(PortalComponentContextItem.java:229)

at com.sapportals.portal.prt.core.broker.PortalComponentContextItem.getContext(PortalComponentContextItem.java:278)

at com.sapportals.portal.prt.component.PortalComponentRequest.getComponentContext(PortalComponentRequest.java:389)

at com.sapportals.portal.prt.connection.PortalRequest.getRootContext(PortalRequest.java:428)

at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:520)

at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:209)

at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:532)

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

at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:415)

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

at com.inqmy.services.servlets_jsp.server.InvokerServlet.service(InvokerServlet.java:126)

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

at com.inqmy.services.servlets_jsp.server.RunServlet.runSerlvet(RunServlet.java:147)

at com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.startServlet(ServletsAndJspImpl.java:789)

at com.inqmy.services.httpserver.server.RequestAnalizer.checkFilename(RequestAnalizer.java:644)

at com.inqmy.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:305)

at com.inqmy.services.httpserver.server.Response.handle(Response.java:166)

at com.inqmy.services.httpserver.server.HttpServerFrame.request(HttpServerFrame.java:1156)

at com.inqmy.core.service.context.container.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:36)

at com.inqmy.core.cluster.impl0.ParserRunner.run(ParserRunner.java:35)

at com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46)

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

at com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:132)

Caused by: java.lang.NoClassDefFoundError: com/sapportals/portal/htmlb/page/PageProcessorComponent

at java.lang.ClassLoader.defineClass0(Native Method)

at java.lang.ClassLoader.defineClass(ClassLoader.java:488)

at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:106)

at com.sapportals.portal.prt.util.AutoClassLoader.access$301(AutoClassLoader.java:92)

at com.sapportals.portal.prt.util.AutoClassLoader$1.run(AutoClassLoader.java:778)

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

at com.sapportals.portal.prt.util.AutoClassLoader.findClass(AutoClassLoader.java:770)

at com.sapportals.portal.prt.util.AutoClassLoader.loadClassLocally(AutoClassLoader.java:1248)

at com.sapportals.portal.prt.util.AutoClassLoader.loadClass(AutoClassLoader.java:1394)

at com.sapportals.portal.prt.util.AutoClassLoader.loadClass(AutoClassLoader.java:1388)

at com.sapportals.portal.prt.util.AutoClassLoader.loadClass(AutoClassLoader.java:1434)

at java.lang.ClassLoader.loadClass(ClassLoader.java:250)

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

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

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

at com.sapportals.portal.prt.core.broker.PortalComponentItemFacade.getInstanceInternal(PortalComponentItemFacade.java:225)

at com.sapportals.portal.prt.core.broker.PortalComponentItemFacade.getComponentInstance(PortalComponentItemFacade.java:158)

at com.sapportals.portal.prt.core.broker.PortalComponentItem.getComponentInstance(PortalComponentItem.java:665)

at com.sapportals.portal.prt.component.PortalComponentContext.getComponent(PortalComponentContext.java:98)

at com.sapportals.portal.prt.component.PortalComponentContext.init(PortalComponentContext.java:237)

at com.sapportals.portal.prt.core.broker.PortalComponentContextItem.refresh(PortalComponentContextItem.java:229)

at com.sapportals.portal.prt.core.broker.PortalComponentContextItem.getContext(PortalComponentContextItem.java:278)

at com.sapportals.portal.prt.component.PortalComponentRequest.getComponentContext(PortalComponentRequest.java:389)

at com.sapportals.portal.prt.connection.PortalRequest.getRootContext(PortalRequest.java:428)

at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:520)

at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:209)

at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:532)

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

at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:415)

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

at com.inqmy.services.servlets_jsp.server.InvokerServlet.service(InvokerServlet.java:126)

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

at com.inqmy.services.servlets_jsp.server.RunServlet.runSerlvet(RunServlet.java:147)

at com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.startServlet(ServletsAndJspImpl.java:789)

at com.inqmy.services.httpserver.server.RequestAnalizer.checkFilename(RequestAnalizer.java:644)

at com.inqmy.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:305)

at com.inqmy.services.httpserver.server.Response.handle(Response.java:166)

at com.inqmy.services.httpserver.server.HttpServerFrame.request(HttpServerFrame.java:1156)

at com.inqmy.core.service.context.container.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:36)

at com.inqmy.core.cluster.impl0.ParserRunner.run(ParserRunner.java:35)

at com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46)

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

at com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:132)

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Helga,

the problem you are facing is that your class is beeing loaded, but it references other classes (e.g. HTMLB) that are not declared in your portalapp.xml. Thus the ClassLoader cannot find these classes.

Simply declare a PrivateSharingReference attribute in your portalapp.xml declaring the referenced libraries of your portal component.

Simply replace tag: <application-config/>

with the following tag:

<application-config>

<property name="PrivateSharingReference" value="com.sap.portal.htmlb"/>

</application-config>

As value you can specify a comma seperated list of the referenced libraries.

Regards,

Stefan

Former Member
0 Kudos

Found the error myself. I was missing two lines in the portalapp.xml

<application-config>

<property name="SharingReference" value="htmlb"/>

</application-config>

and I had to modify my property "SecurityZone" which was generated by the wizard (it put the package path of my class in front of the "<myprojectpath>/low_safety" and that did not work) to:

<property name="SecurityZone" value="com.sap.portal.pdk/low_safety"/>

Hope this helps anyone facing the same problem.

Regards,

Helga