Hi,
I am trying to invoke BO4 server using my java web application.
I am getting the below error:
[Servlet Error]-[action]: java.lang.NoSuchMethodError: org/eclipse/emf/ecore/EPackage$Registry.getEFactory(Ljava/lang/String;)Lorg/eclipse/emf/ecore/EFactory;
at com.sap.sl.datasource.impl.DatasourceFactoryImpl.init(DatasourceFactoryImpl.java:84)
at com.sap.sl.datasource.DatasourceFactory.<clinit>(DatasourceFactory.java:26)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:177)
at com.sap.sl.sdk.parser.xml.datasource.DSHeadersParser.parseDataSourceHeader(DSHeadersParser.java:99)
at com.sap.sl.sdk.parser.xml.datasource.DSHeadersParser.parse(DSHeadersParser.java:75)
at com.sap.sl.sdk.parser.xml.OutputParser.parseOutput(OutputParser.java:170)
at com.sap.sl.sdk.parser.xml.OutputParser.parse(OutputParser.java:147)
at com.sap.sl.sdk.parser.xml.OutputParser.parseOutputs(OutputParser.java:99)
at com.sap.sl.sdk.parser.responses.ServerResponseHelper.parseOutputResponses(ServerResponseHelper.java:54)
at com.sap.sl.sdk.workspace.service.internal.WorkspaceLoadingService.processWorkspaceRequest(WorkspaceLoadingService.java:102)
at com.sap.sl.sdk.workspace.service.internal.WorkspaceLoadingService.fillWorkspace(WorkspaceLoadingService.java:75)
at com.sap.sl.sdk.workspace.service.internal.WorkspaceLoadingService.fillWorkspaceByComponents(WorkspaceLoadingService.java:59)
at com.sap.sl.sdk.workspace.service.WorkspaceServiceImpl.getDataProviders(WorkspaceServiceImpl.java:114)
at com.businessobjects.rebean.wi.internal.dp.WIDataProviders.getInternalDPList(WIDataProviders.java:47)
at com.businessobjects.rebean.wi.internal.dp.WIDataProviders.getItem(WIDataProviders.java:61)
at com.businessobjects.rebean.wi.internal.dp.WIDataProviders.getItem(WIDataProviders.java:33)
at biz.nissan.prodpipe.actions.DynamicRptGenAction.execute(DynamicRptGenAction.java:206)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3129)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:238)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:811)
at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1433)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:93)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213)
at com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:194)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:741)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:863)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1510)
I check that the issue is in com.sap.sl.datasource.impl.DatasourceFactoryImpl.init(DatasourceFactoryImpl.java:84)
dsl_engine.jar contains the above class. In that line 84 is:
DatasourceFactory theDatasourceFactory = (DatasourceFactory)EPackage.Registry.INSTANCE.getEFactory("http://com.sap.sl.datasource");
I guess it is trying to connect to http://com.sap.sl.datasource to get the datasource.
I hope it not getting the datasource and throwing the above error.
Please let me know if my assumption is correct or suggest an alternative.
Please help me to resolve this issue.