Skip to Content
avatar image
Former Member

java.lang.UnsupportedOperationException when loading local .blx

I looked all the posts that have a simmilar error but they all suggest to add this -Dbusinessobjects.connectivity.directory attribute.

I am using jdeveloper I have added it an verified in the run log that java command has this directive. My error is as follows:


The code is:

Project classpath includes SL_SDK.jar and

C:\PROJECTS\SL_PROJECT\bin\dataAccess\connectionServer\java\* (all the cs_*.jar files)

Also, the java argument is set like this

-Dbusinessobjects.connectivity.directory="C:\PROJECTS\SL_PROJECT\bin\dataAccess\connectionServer"

LocalResourceService service = context.getService(LocalResourceService.class);

// universePath = “C:\STUFF\TMP\retrieval-2015-10-15-08-04-55\DART- Data Analytics & Reporting Tool.blx”

RelationalBusinessLayer businessLayer = (RelationalBusinessLayer) service.load(universePath);

*Note* the computer this is running on remotely connects to BOBJ, and uses

  1. cmsService.retrieveUniverse()

to retrieve the universe files .blx and .dfx etc

There is not actually a bobj installation on the machine so the folder C:\PROJECTS\SL_PROJECT\bin\dataAccess\connectionServer is just a copy of the folder from the installation directory.

Then I get error:

Exception in thread "main" java.lang.UnsupportedOperationException

at com.businessobjects.connectionserver.ConnectionServer.getInstance(ConnectionServer.java:165)

at com.businessobjects.connectionserver.ConnectionServer.getInstance(ConnectionServer.java:100)

at com.businessobjects.mds.services.relational.CsService.<init>(CsService.java:362)

at com.businessobjects.mds.services.solver.AbstractConnectionSolver.getCSService(AbstractConnectionSolver.java:180)

at com.businessobjects.mds.services.parser.decoder.DataFoundationSQLDecoder.getPRM(DataFoundationSQLDecoder.java:79)

at com.businessobjects.mds.services.parser.decoder.DataFoundationSQLDecoder.<init>(DataFoundationSQLDecoder.java:96)

at com.businessobjects.mds.services.parser.decoder.UniverseSQLDecoder.<init>(UniverseSQLDecoder.java:40)

at com.businessobjects.mds.services.parser.EncodeDecodeHelper.decodeExpression(EncodeDecodeHelper.java:301)

at com.businessobjects.mds.services.helpers.BindingHelper.decodeExpression(BindingHelper.java:250)

at com.businessobjects.mds.services.helpers.BindingHelper.decodeResultExpression(BindingHelper.java:264)

at com.sap.sl.sdk.authoring.businesslayer.internal.services.MdsToSdkBusinessLayerConverter.getResultExpression(MdsToSdkBusinessLayerConverter.java:343)

at com.sap.sl.sdk.authoring.businesslayer.internal.services.MdsToSdkBusinessLayerConverter.copyBusinessItemProperties(MdsToSdkBusinessLayerConverter.java:303)

at com.sap.sl.sdk.authoring.businesslayer.internal.services.MdsToSdkBusinessLayerConverter.createSdkItem(MdsToSdkBusinessLayerConverter.java:252)

at com.sap.sl.sdk.authoring.businesslayer.internal.services.MdsToSdkBusinessLayerConverter.copyMdsToSdk(MdsToSdkBusinessLayerConverter.java:216)

at com.sap.sl.sdk.authoring.businesslayer.internal.services.MdsToSdkBusinessLayerConverter.copyMdsToSdk(MdsToSdkBusinessLayerConverter.java:221)

at com.sap.sl.sdk.authoring.businesslayer.internal.services.MdsToSdkBusinessLayerConverter.copyMdsToSdk(MdsToSdkBusinessLayerConverter.java:221)

at com.sap.sl.sdk.authoring.businesslayer.internal.services.MdsToSdkBusinessLayerConverter.createSdkModel(MdsToSdkBusinessLayerConverter.java:143)

at com.sap.sl.sdk.authoring.businesslayer.internal.services.BusinessLayerModelToModel.createSdkModel(BusinessLayerModelToModel.java:31)

at com.sap.sl.sdk.authoring.local.internal.services.LocalResourceServiceImpl.createSdkBusinessLayer(LocalResourceServiceImpl.java:191)

at com.sap.sl.sdk.authoring.local.internal.services.LocalResourceServiceImpl.loadInternal(LocalResourceServiceImpl.java:172)

at com.sap.sl.sdk.authoring.local.internal.services.LocalResourceServiceImpl.load(LocalResourceServiceImpl.java:134)

at gov.gnma.iopp.service.bobj.SL_TEST.useSemanticLayer(SL_TEST.java:184)

at gov.gnma.iopp.service.bobj.SL_TEST.main(SL_TEST.java:144)

Caused by: java.lang.NullPointerException

at com.businessobjects.connectionserver.ConnectionServer.getInstance(ConnectionServer.java:151)

... 22 more

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

1 Answer

  • Oct 19, 2015 at 02:08 PM

    As far as I am aware of, you need a server or client to test your SL SDK application.You cannot copy the connectionServer folder to your workplace as there are internal dependencies which would break by a copy paste. If some one else have tried anything of this sort probably they can help, but as far as I know try installing client on your machine and test.

    Thanks,

    Prithvi

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      Thanks Shailendra but th REST api is very rudimentary and does not return any of that information. You cant see the expression (table.column) that an object in the universe maps to and you can't see what obejcts are in a report. The specification is the best bet and it only gives you end object names but if you have several data providers with objects of the same name you can't tell which is which - that is if you can parse them all out of the XML correctly,

      The SL java sdk is more promising but after doing all that you suggested .. again .. it still does not work. I still fail to understand what the purpose of an API is if i need to fully install some other software to use it. ?