cancel
Showing results for 
Search instead for 
Did you mean: 

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

kai_unewisse3
Active Contributor
0 Kudos

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());

}

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

Have you made the configurations to determine the JNDI name of the BI XMLA connector?

Just check if you have done these steps:

1. Open Visual Administrator.Select

<server node>

->Services

->JNDI Registry.

On the Runtime tab, in the registry list, locate deployedAdapters

->SDK_XMLA

->shareable

->SDK_XMLA.

This path, from the root to the SDK_XMLA leaf node, indicates the fully-qualified JNDI name of the BI XMLA Connector,which is:"deployedAdapters/SDK_XMLA/shareable/SDK_XMLA".

2. Select the server node, and choose

<server node>

->Services

->Connector Container.

3. Locate and double-click the entry for the BI XMLA Connector,sap.com/com.sap.ip.bi.sdk.dac.connector.xmla.BI_SDK_XMLA, to open the connector definition.

4. Select Managed Connection Factory->Properties, and set

the required connection properties as shown

Property:Setting

DataSource:default

Statefulness:false

Language:EN

Password:(password)

UserName:(username)

URL:http://server:port/sap/bw/xml/soap/xmla

In order to find out this URL,f or a BW system, start transaction SE37 and execute the function module RSBB_URL_PREFIX_GET.

Use the following values for the import parameters of the function module:

I_HANDLERCLASS = CL_RSR_MDX_SOAP_HANDLER

I_PROTOCOL = HTTP

I_MESSAGESERVER =

The URL takes the following form: */sap/bw/xml/soap/xmla.

5. Save the settings.

Regards,

Satyajit.

kai_unewisse3
Active Contributor
0 Kudos

Hi Satyajit,

yes i was reading the whole how-to document...

I was using earlier SAPLOGONTICKET instead of UIDPW (more details about possible values in

BI SDK\docs\com\connectors\xmla_howto.html)

I changed it to UIDPW and provided the Username and Password.

I received now the Schemas and not the "Can't open Connection". So far so good....

However the red dot in the Reference tab is still there.

Why is that ?

In another thread i found somebody with the same problem :

The answer was :

2, your web dynpro application (or other J2EE application) should be configured to issue a ticket: check in the security provider service of J2EE.

How do I do that ?

Regards, Kai

Answers (0)