Skip to Content
0
Aug 03, 2006 at 10:34 PM

BI SDK in Web Dyn Pro- Can't open Connection

23 Views

hello,

I am developing a Web DynPro component which should connect to a BW 3.5 via BI SDK - XMLA.

As a start i just use the code from the "How to " document for Web DynPro without any changes.

I could deploy the application and it should give me the list of the schemas. instead it returns "Can't open Connection" .

I looked in the Web DynPro Content Administrator and found that the Reference "sap.com/com.sap.ip.bi.sdk.dac.connector.xmla" has under the Status a red light; there are 2 other with green

(sap.com/tcwddispwda, sap.com/tcwdcorecomp).

Since red lights are never a good sign, i would like to know what is the reason for it and how can i fix it ?

I assume there is a direct connection between the "Can't Open Connection" and the red light...

Any useful help is appreciated and will be rewarded 😊

Kai

import org.omg.cwm.analysis.olap.Schema;

import com.bearingpoint.bi.wdp.IPrivateIGS_Chart;

import com.bearingpoint.bi.wdp.IPublicIGS_Chart.ISchemaElement;

import com.sap.ip.bi.sdk.dac.connector.IBIConnection;

import com.sap.ip.bi.sdk.dac.connector.IBIOlap;

import com.sapportals.connector.connection.IConnectionFactory;

import com.sapportals.connector.connection.IConnectionSpec;

IConnectionFactory connectionFactory = null;

IConnectionSpec connectionSpec = null;

IBIConnection connection = null;

String message = "";

try {

Context initctx = new InitialContext();

// perform JNDI lookup to obtain connection factory

connectionFactory = (IConnectionFactory) initctx.lookup("deployedAdapters/SDK_XMLA/shareable/SDK_XMLA");

connectionSpec = connectionFactory.getConnectionSpec();

// establish connection using default connection properties

connection = (IBIConnection) connectionFactory.getConnectionEx(null);

IBIOlap olap = ((IBIConnection) connection).getOlap();

List schemas = olap.getSchema();

Schema schema = null;

for (int i = 0; i < schemas.size(); i++) {

schema = (Schema) schemas.get(i);

message += schema.getName();

}

} catch (Exception e) {

message += e.getMessage();

logger.errorT( e.getMessage());

}