Skip to Content
0
Jan 16, 2023 at 09:14 AM

SAP BO 4.3 SDK to retrieve universe

275 Views

Hello experts,

we have a tool using SDK to extract some data about UNX universes and their business objects.

It was developed for BO 4.2, for which it's working fine.

However when we try to run it for BO 4.3, the run results in error:

Exception in thread "main" java.lang.RuntimeException: Failed to load C:\Users\ADM-GU~1\AppData\Local\Temp\2\SdkSlAuth20230112085354_8ad9a29167a54ea3\Rio2016.cns
at com.businessobjects.mds.services.helpers.EMFHelper.loadEntityReplicatedCluster(EMFHelper.java:99)
at com.businessobjects.mds.publishing.internal.services.DefaultPublishingService.extractPublishedResource(DefaultPublishingService.java:804)
at com.sap.sl.sdk.authoring.cms.internal.services.CmsRetrieveService.retrieveUniverseLocally(CmsRetrieveService.java:236)
at com.sap.sl.sdk.authoring.cms.internal.services.CmsRetrieveService.retrieveUniverse(CmsRetrieveService.java:102)
at com.sap.sl.sdk.authoring.cms.internal.services.CmsResourceServiceImpl.retrieveUniverse(CmsResourceServiceImpl.java:276)
at eu.profinit.manta.connector.sapbo.sdkextractor.SdkServerSession.fetchBusinessLayerOfUniverse(SdkServerSession.java:236)
at eu.profinit.manta.connector.sapbo.sdkextractor.SdkServerSession.fetchUniverseBusinessObjects(SdkServerSession.java:116)
at eu.profinit.manta.connector.sapbo.sdkextractor.SdkExtractor.lambda$extractUniverseBusinessObjects$1(SdkExtractor.java:69)
at java.lang.Iterable.forEach(Iterable.java:75)
at eu.profinit.manta.connector.sapbo.sdkextractor.SdkExtractor.extractUniverseBusinessObjects(SdkExtractor.java:64)
at eu.profinit.manta.connector.sapbo.sdkextractor.SdkExtractor.extractAll(SdkExtractor.java:54)
at eu.profinit.manta.connector.sapbo.sdkextractor.SdkExtractorStarter.main(SdkExtractorStarter.java:28)
Caused by: java.lang.RuntimeException: org.xmlpull.v1.XmlPullParserException: No valid parser classes found in resource /META-INF/services/org.xmlpull.v1.XmlPullParserFactory that contained 'org.xmlpull.mxp1.MXParserFactory'
at com.businessobjects.mds.resource.localization.LocXmlReader.read(LocXmlReader.java:45)
at com.businessobjects.mds.resource.localization.EMFLocalizerSerializer.loadXml(EMFLocalizerSerializer.java:30)
at com.businessobjects.mds.resource.MDResource$LocRW.handleStream(MDResource.java:1056)
at com.businessobjects.mds.resource.archive.Archive.load(Archive.java:643)
at com.businessobjects.mds.resource.MDResource.loadFromArchive(MDResource.java:663)
at com.businessobjects.mds.resource.MDResource.doLoadMDArchive(MDResource.java:486)
at com.businessobjects.mds.resource.MDResource.load(MDResource.java:548)
at com.businessobjects.mds.resource.MDResource.load(MDResource.java:526)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoad(ResourceSetImpl.java:259)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:274)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResource(ResourceSetImpl.java:406)
at com.businessobjects.mds.services.helpers.EMFHelper.loadEntityReplicatedCluster(EMFHelper.java:90)
... 11 more
Caused by: org.xmlpull.v1.XmlPullParserException: No valid parser classes found in resource /META-INF/services/org.xmlpull.v1.XmlPullParserFactory that contained 'org.xmlpull.mxp1.MXParserFactory'
at org.xmlpull.v1.XmlPullParserFactory.newPullParser(XmlPullParserFactory.java:175)
at com.businessobjects.mds.resource.localization.LocXmlReader.read(LocXmlReader.java:40)
... 22 more

We run the tool using BO's JRE (at win32_x86\sapjvm\jre\bin\java for 4.3, at win32_x86\jre8\bin\java for 4.2) and adding "%SAPBO_INSTALLATION_PATH%\SL SDK\eclipse\plugins\*;%SAPBO_INSTALLATION_PATH%\java\lib\*" to classpath.

The problem apparently lies in com.sap.sl.sdk.authoring.cms.internal.services.CmsResourceServiceImpl.retrieveUniverse(CmsResourceServiceImpl.java:276)

Have there been some changes in 4.3? Do we need to include some more jars to classpath?

Thank you