cancel
Showing results for 
Search instead for 
Did you mean: 

illegalaccesserror - metadatacache

Former Member
0 Kudos

Hi there,

I've transported my webdynpro project developments to NWDI. There are 2 main components: bupa & interactions. Everything worked perfectly at the former project, but now only the interactions component works as it should. Everytime I want to run something from the bupa component, I get the following error:


java.lang.IllegalAccessError: tried to access method com.bdx.sap.bb.data.bupasearch.BuPaSearchModel.wdGetStaticMetadataCache()Lcom/sap/tc/webdynpro/modelimpl/dynamicrfc/DynamicRFCModel$MetadataCache; from class com.bdx.sap.bb.data.bupasearch.Z_Crm_Bb_Bupa_Search_Input
	at com.bdx.sap.bb.data.bupasearch.Z_Crm_Bb_Bupa_Search_Input.<init>(Z_Crm_Bb_Bupa_Search_Input.java:51)
	at com.bdx.sap.bb.comp.bupa.cuco.CuCoMain.wdDoInit(CuCoMain.java:126)
	at com.bdx.sap.bb.comp.bupa.cuco.wdp.InternalCuCoMain.wdDoInit(InternalCuCoMain.java:461)
	at com.sap.tc.webdynpro.progmodel.generation.DelegatingCustomController.doInit(DelegatingCustomController.java:73)
	at com.sap.tc.webdynpro.progmodel.controller.Controller.initController(Controller.java:215)
	at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)
	at com.sap.tc.webdynpro.progmodel.controller.Component.getCustomControllerInternal(Component.java:449)
	at com.sap.tc.webdynpro.progmodel.controller.Component.getMappableContext(Component.java:387)
	at com.sap.tc.webdynpro.progmodel.controller.Component.getMappableContext(Component.java:416)
	at com.sap.tc.webdynpro.progmodel.context.MappingInfo.getDataNode(MappingInfo.java:83)
	at com.sap.tc.webdynpro.progmodel.context.MappingInfo.initMapping(MappingInfo.java:125)
	at com.sap.tc.webdynpro.progmodel.context.MappingInfo.init(MappingInfo.java:121)
	at com.sap.tc.webdynpro.progmodel.context.MappedNodeInfo.doInit(MappedNodeInfo.java:215)
	at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:671)
	at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:674)
	at com.sap.tc.webdynpro.progmodel.context.Context.init(Context.java:40)
	at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:199)
	at com.sap.tc.webdynpro.progmodel.view.ViewManager.getView(ViewManager.java:709)
	at com.sap.tc.webdynpro.progmodel.view.ViewManager.bind(ViewManager.java:555)
	at com.sap.tc.webdynpro.progmodel.view.ViewManager.getView(ViewManager.java:724)
	at com.sap.tc.webdynpro.progmodel.view.ViewManager.bindRoot(ViewManager.java:579)
	at com.sap.tc.webdynpro.progmodel.view.ViewManager.init(ViewManager.java:155)
	at com.sap.tc.webdynpro.progmodel.view.InterfaceView.initController(InterfaceView.java:43)
	at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)
	at com.sap.tc.webdynpro.progmodel.view.ViewManager.getView(ViewManager.java:709)
	at com.sap.tc.webdynpro.progmodel.view.ViewManager.bind(ViewManager.java:555)
	at com.sap.tc.webdynpro.progmodel.view.ViewManager.makeVisible(ViewManager.java:789)
	at com.sap.tc.webdynpro.progmodel.view.ViewManager.performNavigation(ViewManager.java:296)
	at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.navigate(ClientApplication.java:767)
	at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.navigate(ClientComponent.java:881)
	at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doNavigation(WindowPhaseModel.java:498)
	at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:144)
	at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)
	at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)
	at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:319)
	at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:713)
	at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:666)
	at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:250)
	at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:150)
	at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
	at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)
	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:401)
	at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
	at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
	at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
	at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)
	at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
	at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
	at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
	at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
	at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
	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:102)
	at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)

In my code/context/... there are no errors whatsoever...

Code from cucomain wdDoInit:


  public void wdDoInit()
  {
    //@@begin wdDoInit()
    msgMngr = this.wdComponentAPI.getMessageManager();
    try{
    	//get user 
/*    	IWDClientUser user = WDClientUser.getCurrentUser();
    	String userName = user.getSAPUser().getUniqueName();
    	msgMngr.reportSuccess("The username is: " + userName);
*/    	
    }
    catch(Exception e){
    	msgMngr.reportException(e.toString(), false);
    }
    
    //initialization
	bupaInput = new Z_Crm_Bb_Bupa_Search_Input();
	bupaOutput = new Z_Crm_Bb_Bupa_Search_Output();
	wdContext.nodeInputSearch().bind(bupaInput);
	wdContext.nodeOutputSearch().bind(bupaInput.getOutput());
	conCreateInput = new Z_Crm_Bb_Bupa_Update_Create_Input();
	conCreateOutput = new Z_Crm_Bb_Bupa_Update_Create_Output();
	wdContext.nodeInputBuPaCreateUpdate().bind(conCreateInput);
	wdContext.nodeOutputBuPaCreateUpdate().bind(conCreateInput.getOutput());
	
	this.interactionSearchInput = new Z_Crm_Bb_Interaction_Search_Input();
	this.interactionSearchOutput = new Z_Crm_Bb_Interaction_Search_Output();
	this.wdContext.nodeInputInteractionSearch().bind(this.interactionSearchInput);
	this.wdContext.nodeOutputInteractionSearch().bind(this.interactionSearchOutput);

    //@@end
  }

Variables defined in other developments (at the end of cucomain):


  /*
   * The following code section can be used for any Java code that is 
   * not to be visible to other controllers/views or that contains constructs
   * currently not supported directly by Web Dynpro (such as inner classes or
   * member variables etc.). </p>
   *
   * Note: The content of this section is in no way managed/controlled
   * by the Web Dynpro Designtime or the Web Dynpro Runtime. 
   */
  //@@begin others
  Z_Crm_Bb_Bupa_Search_Input bupaInput;
  Z_Crm_Bb_Bupa_Search_Output bupaOutput;
  
  Z_Crm_Bb_Bupa_Details_Input bupaDetInp;
  Z_Crm_Bb_Bupa_Details_Output bupaDetOutp;
  //2 model objects (input&output) per relation: relationships, related employees & contacts 
  Z_Crm_Bb_Bupa_Rels_Input accRelsInput;
  Z_Crm_Bb_Bupa_Rels_Output accRelsOutput;
  Z_Crm_Bb_Bupa_Rels_Input accReltdEmplInput;
  Z_Crm_Bb_Bupa_Rels_Output accReltdEmplOutput;
  Z_Crm_Bb_Bupa_Rels_Input accContactsInput;
  Z_Crm_Bb_Bupa_Rels_Output accContactsOutput;
  
  Z_Crm_Bb_Bupa_Update_Create_Input bupaUpdateInput;
  Z_Crm_Bb_Bupa_Update_Create_Output bupaUpdateOutput;
  
  Z_Crm_Bb_Bupa_Update_Create_Input conCreateInput;
  Z_Crm_Bb_Bupa_Update_Create_Output conCreateOutput;
  
  Z_Crm_Bb_Interaction_Search_Input interactionSearchInput;
  Z_Crm_Bb_Interaction_Search_Output interactionSearchOutput;
  Zcrm_Bb_Crmt_Process_Type_Ds interactionSearchProcessTypesInput;
  
  Z_Crm_Bb_Interaction_Search_Input myActivitiesSearchInput;
  Z_Crm_Bb_Interaction_Search_Output myActivitiesSearchOutput;
  Zcrm_Bb_Crmt_Process_Type_Ds myActivitiesSearchProcessTypesInput;  
  
  Z_Crm_Bb_Interaction_Search_Input myTasksSearchInput;
  Z_Crm_Bb_Interaction_Search_Output myTasksSearchOutput;
  Zcrm_Bb_Crmt_Process_Type_Ds myTasksSearchProcessTypesInput;
  
//BB demo: obsolete
//  Z_Crm_Bb_Bupa_Activate_Input actCheckInput;
//  Z_Crm_Bb_Bupa_Activate_Output actCheckOutput;
//  Z_Crm_Bb_Bupa_Activate_Input actContactInput;
//  Z_Crm_Bb_Bupa_Activate_Output actContactOutput;
  
  Z_Crm_Bb_Bupa_Favorites_Input bupaFavsInput;
  Z_Crm_Bb_Bupa_Favorites_Output bupaFavsOutput;
  
  public static final String coObjectTypeActivity = "BUS2000126";
  public static final String coObjectTypeTask = "BUS2000125";  
  public static final String coProcessTypeActivityStartsWith = "ZA";
  public static final String coProcessTypeTaskStartsWith = "ZT";

  
  IWDMessageManager msgMngr;
  //@@end
}

What could be the problem? I reimported the models & restarted the server.

I even tried by setting the metadata JCO destination to "don't cache" in the WebDynproConsole under Adaptive RFC Metadata Cache Invalidation, but that didn't help..

Any help is highly appreciated!

Kind regards,

Allan

Accepted Solutions (1)

Accepted Solutions (1)

former_member197348
Active Contributor
0 Kudos

Hi Allan,

Does bupa component have any used components (Used DCs)? If yes, please check any of one of those used components or their models have changed. If they have been changed, they have to build and transport successfully.

Regards,

Siva

Former Member
0 Kudos

Hi there,

Let me elaborate; I have 4 DC's:

-data DC: container for RFC models

-interactions DC: all coding concerning interactions is held here. Abovementioned data DC is one of it's used DC's

-bupa DC: contains all coding concerning business partners. Used DC's: data DC + interactions DC

-BB DC : container for main application (homepage) + navigation between DC's: Used DC's: data, interactions, bupa

Interactions DC works as it should, so that means the data DC also works as it should.

All DC's can be built successfully (with warnings).

Whenever you click one of the buttons which will lead to the bupa DC, I get an illegalaccesserror like mentioned in my first post..

Anyone who has already seen this before? What did you do to solve this issue? I'm running out of options...

Kind regards

Allan

PS, I work on NW04S 7.0.14, and the java stack is 7.00 SP14

NWDI is 7.00 SP15

Former Member
0 Kudos

Is there no one who has encountered such an error?

former_member197348
Active Contributor
0 Kudos

Hi Allan,

*java.lang.IllegalAccessError:

tried to access method com.bdx.sap.bb.data.bupasearch.BuPaSearchModel.wdGetStaticMetadataCache()Lcom/sap/tc/webdynpro/modelimpl/dynamicrfc/DynamicRFCModel$MetadataCache;*

from class com.bdx.sap.bb.data.bupasearch.Z_Crm_Bb_Bupa_Search_Input

refers to the bupa DC's model.

Can you check in the any of the model attributes left without binding or missed references?

(some times we don't get errors for this)

Try executing the Z_Crm_Bb_Bupa_Search RFC in R/3 whether it is working fine or not.

Regards,

Siva

Former Member
0 Kudos

Hi Siva,

The RFC works fine.

Concerning model binding: all context nodes + attributes from the custom controller are bound to the model; all context nodes + attributes from the views are bound to the context from the custom controller, so that doesn't seem to be incorrect...

Maybe it's important to mention that the bapi's are created in CRM2007.

Kind regards,

Allan

Former Member
0 Kudos

Hi there,

I tried by copying the RFC FM to a new RFC FM which also works fine,

deleting old model + the entry in used models,

importing a new model based on the copied FM,

modifying all contexts,

modifying coding in order to use the new model,

building, ...

Now I get the same error, but based on the new model..

Is there someone (from SAP maybe?) who can shed a light on this really strange issue?

Kind regards

Allan

Answers (0)