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