book
Article ID: KB0092150
calendar_today
Updated On:
Description
Resolution:
1. When using java to store Administered Objects, you need to create the initial context of the foreign naming/directory service. For example:
------------------------------------------------------------
Hashtable env = new Hashtable();
env.put( Context.INITIAL_CONTEXT_FACTORY, foreignProviderFactory );
env.put( Context.SECURITY_PRINCIPAL, foreignUserName );
env.put( Context.SECURITY_CREDENTIALS, foreignPassword ); env.put( Context.SECURITY_AUTHENTICATION, "simple"); env.put( Context.PROVIDER_URL, foreignProviderURL);
env.put(Context.OBJECT_FACTORIES, "com.tibco.tibjms.naming.TibjmsAdministeredDirObjectFactory");
env.put(Context.STATE_FACTORIES, "com.tibco.tibjms.naming.TibjmsStateFactory");
Context ctxForeign = new InitialDirContext(env);
------------------------------------------------------------
For how to store Administered Objects, please refer to tibjmsJNDIStore.java file under %{EMS_INSTALL_DIR}%\samples\admin directory.
2. TIBCO EMS .NET and C client can only lookup Administered Objects stored in a foreign naming/directory service if these objects are stored using the XML representation. In order to do so, you need to define a new schema for EMS Administered Objects within OpenLDAP. Otherwise, you will get "Object Not Found error" when client tries to bind to openLDAP server from .NET client or C client.
You can save the following schema into file tibems.schema, and add this schema into the slapd.conf and restart openLDAP.
==================================================================
# EMS schema
attributetype ( 1.3.6.1.4.1.2000.7.1.8.10.1.1 NAME 'tibemsXMLData' DESC 'XML data contains information used in TIBCO EMS product' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE)
objectclass ( 1.3.6.1.4.1.2000.7.1.8.10.2.1 NAME 'tibemsAdministeredObject' DESC 'TIBCO EMS administered object' SUP top STRUCTURAL MUST ( cn $ tibemsXMLData ))
==================================================================
Issue/Introduction
How to store Administered Objects in OpenLDAP server?