Skip to Content
author's profile photo
Former Member

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

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)

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

2 Answers

  • author's profile photo
    Former Member
    Posted on Feb 06, 2004 at 02:07 PM

    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

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    Former Member
    Posted on Feb 24, 2004 at 09:37 AM

    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

    Add comment
    10|10000 characters needed characters exceeded