14 Replies Latest reply on May 14, 2013 4:15 AM by jaigates

    Doc/Example on how to use ldap translator

    gamvi01

      Hi Steve/Ramesh

       

       

      I have this doc https://docs.jboss.org/author/display/teiid80final/Built-in+Translators which doesnt talk much about ldap translator. Could you point me to an example or a doc where we have some detailed description.

       

       

      Thanks

      Vineela

        • 1. Re: Doc/Example on how to use ldap translator
          rareddy

          Vineela,

           

          Currently we do not have any more documentation than what is shown in the above link. You can add a JIRA for more documentation.

           

          Basically every "object class/context" in the LDAP can be represented as a table(make sure you have 'NameInSource' property set like 'ou=people,dc=company,dc=com?SUBTREE_SCOPE?RESTRICT'), then each attribute as the columns. Currently you have manually add tables and their properties manually in the Teiid Designer based VDB.

           

          The dynamic vdb support is not available, you have to use Teiid Designer or extend the translator to provide the metadata specific to your ldap store. Right now I suggest to take a look at the code and some java docs on the code.

           

          We will try to add some documentation soon.

           

          Ramesh..

          • 2. Re: Doc/Example on how to use ldap translator
            gamvi01

            Hi Ramesh,

             

            Is it somehting like this.

             

            @Translator(name = "translator-security-ldap")

            public class SecurityLdapTranslator extends LDAPExecutionFactory{

            @Override

                public void getMetadata(MetadataFactory metadataFactory, LdapContext conn)

                        throws TranslatorException {

                    Table table = metadataFactory.addTable("people");

                    table.setNameInSource("ou=users,ou=system,dc=example,dc=com?SUBTREE_SCOPE?RESTRICT");

             

            Inroder to define attributes as columns ..how can we? attributes for each node on the ldap tree varies.

             

            How do i add columns to the above table ?

             

             

             

            Currently i have this configuration in the ds file

             

              

            <connection-factories>

                <no-tx-connection-factory>

                    <jndi-name>SECURITY-LDAP-DS</jndi-name>

                    <rar-name>teiid-connector-ldap.rar</rar-name>

                    <connection-definition>javax.resource.cci.ConnectionFactory

                    </connection-definition>

                    <config-property name="LdapAdminUserDN">uid=admin,ou=system

                    </config-property>

                    <config-property name="LdapAdminUserPassword">secret</config-property>

                    <config-property name="LdapUrl">ldap://gamvi01-VM45587:10389

                    </config-property>

                </no-tx-connection-factory>

            </connection-factories>

             

             

            Model :

             

            <model type="PHYSICAL" visible="true" name="security_ldap">

                    <property name="importer.useFullSchemaName" value="false"/>

                    <source name="security_ldap" connection-jndi-name="java:SECURITY-LDAP-DS" translator-name="security_ldap.delegated-translator"/>

                </model>

             

            <translator name="security_ldap.delegating-translator" type="ldap"/>

                <translator name="security_ldap.delegated-translator" type="chorus-translator-safetyHarness">

                    <property name="DelegateName" value="security_ldap.delegating-translator"/>

                </translator>

            • 3. Re: Doc/Example on how to use ldap translator
              gamvi01

              @Override

                  public void getMetadata(MetadataFactory metadataFactory, LdapContext conn)

                          throws TranslatorException {

                      Table table = metadataFactory.addTable("people");

                      table.setNameInSource("dc=example,dc=com?SUBTREE_SCOPE?RESTRICT");

               

                      /*org.teiid.metadata.Column column = new org.teiid.metadata.Column();

                      column.setName("UserId");*/

                      Datatype dt = new Datatype();

                      dt.setDatatypeID(DataTypeManager.DefaultDataTypes.STRING);

                      /*column.setDatatype(dt);

                      column.setNameInSource("uid");

                      table.addColumn(column);*/

                      org.teiid.metadata.Column column1 = new org.teiid.metadata.Column();

                      column1.setDatatype(dt);

                      column1.setNameInSource("cn");

                      column1.setName("Name");

                      table.addColumn(column1);

               

                  }

               

              This was the metadata i added. But i dont see table named people in the database explorer for that model.

              • 4. Re: Doc/Example on how to use ldap translator
                rareddy

                Take look at MetadataFactory class for the adding different metadata objects. You can see examples of these any in ExecutionFactory classes, like JDBCExecutionFactory.

                • 5. Re: Doc/Example on how to use ldap translator
                  gamvi01

                  I did the same way i have done in the other execution factories. Extra thing thats done here is setting the nameInsource as you suggested.  Can you take a look at my previous post?

                  • 6. Re: Doc/Example on how to use ldap translator
                    rareddy

                    In that case I think the error is else where..

                     

                    Looks like the name you have given does not match to the name you are using here.

                     

                     

                    <translator name="security_ldap.delegating-translator" type="ldap"/>
                        <translator name="security_ldap.delegated-translator" type="chorus-translator-safetyHarness">
                            <property name="DelegateName" value="security_ldap.delegating-translator"/>
                        </translator>
                    

                     

                     

                    Ramesh..

                    • 7. Re: Doc/Example on how to use ldap translator
                      gamvi01

                      You were right there was a typo. But after correcting that i can see my table. But when i do the search nothign gets returned. Iam attachign my files for the reference. I want to simulate the same results i get from the below standalone.

                       

                       

                      class ldapTest{

                      public static void main(String[] args) throws NamingException {

                       

                                  Hashtable env = new Hashtable();

                       

                                  env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");

                                  env.put(Context.PROVIDER_URL, "ldap://localhost:10389/ou=groups,ou=system");

                       

                                  env.put(Context.SECURITY_PRINCIPAL, "uid=admin,ou=system");

                                  env.put(Context.SECURITY_CREDENTIALS, "secret");

                                  env.put(Context.SECURITY_AUTHENTICATION, "simple");

                       

                                  InitialDirContext ctx = new InitialDirContext(env);

                       

                                  Attributes attrs = ctx.getAttributes("");

                                  NamingEnumeration enm = attrs.getAll();

                                  while (enm.hasMore()) {

                                      System.out.println(enm.next());

                                  }

                              }

                      }

                       

                      currenlty this returns me

                       

                      ou: groups

                      description: Contains entries which describe groups (crews, for instance)

                      objectclass: organizationalUnit, top

                       

                      For the metadata i have put in SecurityLdapTranslator.java i should be getting the minimal data as what is returned from standalone right ? Iam using apache DS as my test ldap system.

                       

                       

                       

                      Debug log from the execution of "SELECT * FROM SECURITY_LDAP.PEOPLE". Am i setting wrongly any columns on the table ? Iam using the attribute names as column names so that i need not set nameInSource for the columns.

                       

                       

                      21 Jun 2012 00:26:17,321 PDT DEBUG [org.teiid.TRANSPORT] (New I/O server worker #1-1) processing message:MessageHolder: contents=org.teiid.net.socket.ServiceInvocationStruct@49683232

                      21 Jun 2012 00:26:17,322 PDT DEBUG [org.teiid.TRANSPORT] (New I/O server worker #1-1)  message: MessageHolder: contents=null for message:709

                      21 Jun 2012 00:26:17,323 PDT DEBUG [org.teiid.TRANSPORT] (New I/O server worker #1-1) processing message:MessageHolder: contents=org.teiid.net.socket.ServiceInvocationStruct@1441a020

                      21 Jun 2012 00:26:17,329 PDT DEBUG [org.teiid.SECURITY] (New I/O server worker #1-1) authenticateUser admin JDBC

                      21 Jun 2012 00:26:17,331 PDT DEBUG [org.teiid.SECURITY] (New I/O server worker #1-1) Logon successful, created session: sessionid=zY4jZqjDCpo/; userName=admin@teiid-security; vdbName=Chorus; vdbVersion=1; createdTime=Thu Jun 21 00:26:17 PDT 2012; applicationName=JDBC; clientHostName=GAMVI01-WIN7.ca.com; clientHardwareAddress=00FFD006630C; IPAddress=10.132.7.214; securityDomain=teiid-security; lastPingTime=Thu Jun 21 00:26:17 PDT 2012

                      21 Jun 2012 00:26:17,331 PDT DEBUG [org.teiid.TRANSPORT] (New I/O server worker #1-1)  message: MessageHolder: contents=org.teiid.client.security.LogonResult@cf3bd3d for message:710

                      21 Jun 2012 00:26:17,513 PDT DEBUG [org.teiid.TRANSPORT] (New I/O server worker #1-1) processing message:MessageHolder: contents=org.teiid.net.socket.ServiceInvocationStruct@39d8d7be

                      21 Jun 2012 00:26:17,515 PDT DEBUG [org.teiid.PROCESSOR] (Worker12_QueryProcessorQueue105) Request Thread zY4jZqjDCpo/.0 with state NEW

                      21 Jun 2012 00:26:17,515 PDT DEBUG [org.teiid.PROCESSOR] (Worker12_QueryProcessorQueue105) zY4jZqjDCpo/.0 No cache directive

                      21 Jun 2012 00:26:17,515 PDT DEBUG [org.teiid.PROCESSOR] (Worker12_QueryProcessorQueue105) zY4jZqjDCpo/.0 executing  select * from security_ldap.people

                       

                      21 Jun 2012 00:26:17,523 PDT DEBUG [org.teiid.PROCESSOR] (Worker12_QueryProcessorQueue105) ProcessTree for zY4jZqjDCpo/.0 AccessNode(0) output=[security_ldap.people.objectclass, security_ldap.people.ou] SELECT security_ldap.people.objectclass, security_ldap.people.ou FROM security_ldap.people

                       

                      21 Jun 2012 00:26:17,523 PDT DEBUG [org.teiid.TXN_LOG] (Worker12_QueryProcessorQueue105) before getOrCreateTransactionContext:org.teiid.dqp.internal.process.TransactionServerImpl@35c220f9(zY4jZqjDCpo/)

                      21 Jun 2012 00:26:17,523 PDT DEBUG [org.teiid.TXN_LOG] (Worker12_QueryProcessorQueue105) after getOrCreateTransactionContext : zY4jZqjDCpo/ NONE ID:NONE

                      21 Jun 2012 00:26:17,523 PDT DEBUG [org.teiid.BUFFER_MGR] (Worker12_QueryProcessorQueue105) Creating TupleBuffer: 84 [security_ldap.people.objectclass, security_ldap.people.ou] [class java.lang.String, class java.lang.String] of type PROCESSOR

                      21 Jun 2012 00:26:17,523 PDT DEBUG [org.teiid.CONNECTOR] (Worker12_QueryProcessorQueue105) zY4jZqjDCpo/.0.0.31 Create State

                      21 Jun 2012 00:26:17,524 PDT DEBUG [org.teiid.BUFFER_MGR] (Worker12_QueryProcessorQueue105) zY4jZqjDCpo/.0.0.31 Blocking on source query

                      21 Jun 2012 00:26:17,524 PDT DEBUG [org.teiid.BUFFER_MGR] (Worker12_QueryProcessorQueue105) zY4jZqjDCpo/.0 Blocking on source request(s).

                      21 Jun 2012 00:26:17,524 PDT DEBUG [org.teiid.PROCESSOR] (Worker13_QueryProcessorQueue106) Running task for parent thread Worker12_QueryProcessorQueue105

                      21 Jun 2012 00:26:17,524 PDT DEBUG [org.teiid.PROCESSOR] (Worker12_QueryProcessorQueue105) Request Thread zY4jZqjDCpo/.0 - processor blocked

                      21 Jun 2012 00:26:17,524 PDT DEBUG [org.teiid.CONNECTOR] (Worker13_QueryProcessorQueue106) zY4jZqjDCpo/.0.0.31 Processing NEW request: SELECT security_ldap.people.objectclass, security_ldap.people.ou FROM security_ldap.people

                      21 Jun 2012 00:26:20,429 PDT DEBUG [com.ca.chorus.security.ldap.translator.SecurityLdapTranslator] (Worker13_QueryProcessorQueue106) SecurityLdapTranslator createResultSetExecution

                      21 Jun 2012 00:26:21,521 PDT DEBUG [org.teiid.CONNECTOR] (Worker13_QueryProcessorQueue106) zY4jZqjDCpo/.0.0.31 Obtained execution

                      21 Jun 2012 00:26:21,521 PDT DEBUG [org.teiid.COMMAND_LOG] (Worker13_QueryProcessorQueue106)     START DATA SRC COMMAND:    startTime=2012-06-21 00:26:21.521    requestID=zY4jZqjDCpo/.0    sourceCommandID=0    txID=null    modelName=security_ldap    translatorName=security_ldap.delegated-translator    sessionID=zY4jZqjDCpo/    principal=admin@teiid-security    sql=SELECT security_ldap.people.objectclass, security_ldap.people.ou FROM security_ldap.people

                      21 Jun 2012 00:26:31,422 PDT DEBUG [org.teiid.CONNECTOR] (Worker13_QueryProcessorQueue106) Search context: ou=groups,ou=system

                      21 Jun 2012 00:26:31,423 PDT DEBUG [org.teiid.CONNECTOR] (Worker13_QueryProcessorQueue106) Search scope = SUBTREE_SCOPE

                      21 Jun 2012 00:26:31,423 PDT DEBUG [org.teiid.CONNECTOR] (Worker13_QueryProcessorQueue106) Search attributes:

                      21 Jun 2012 00:26:31,423 PDT DEBUG [org.teiid.CONNECTOR] (Worker13_QueryProcessorQueue106) Attribute [0]: objectclass (class java.lang.String)

                      21 Jun 2012 00:26:31,423 PDT DEBUG [org.teiid.CONNECTOR] (Worker13_QueryProcessorQueue106) Attribute [1]: ou (class java.lang.String)

                      21 Jun 2012 00:26:31,423 PDT DEBUG [org.teiid.CONNECTOR] (Worker13_QueryProcessorQueue106) Where clause was translated into Ldap search filter: (&(objectClass=*)(objectClass=RESTRICT))

                      21 Jun 2012 00:26:31,437 PDT DEBUG [org.teiid.CONNECTOR] (Worker13_QueryProcessorQueue106) zY4jZqjDCpo/.0.0.31 Executed command

                      21 Jun 2012 00:26:31,437 PDT DEBUG [org.teiid.CONNECTOR] (Worker13_QueryProcessorQueue106) zY4jZqjDCpo/.0.0.31 Getting results from connector

                      21 Jun 2012 00:26:31,437 PDT DEBUG [org.teiid.CONNECTOR] (Worker13_QueryProcessorQueue106) zY4jZqjDCpo/.0.0.31 Obtained last batch, total row count: 0

                      21 Jun 2012 00:26:31,438 PDT DEBUG [org.teiid.PROCESSOR] (Worker12_QueryProcessorQueue107) Request Thread zY4jZqjDCpo/.0 with state PROCESSING

                      21 Jun 2012 00:26:31,438 PDT DEBUG [org.teiid.PROCESSOR] (Worker12_QueryProcessorQueue107) QueryProcessor: closing processor

                      21 Jun 2012 00:26:31,438 PDT DEBUG [org.teiid.PROCESSOR] (Worker13_QueryProcessorQueue108) Running task for parent thread Worker12_QueryProcessorQueue107

                      21 Jun 2012 00:26:31,438 PDT DEBUG [org.teiid.PROCESSOR] (Worker12_QueryProcessorQueue107) [RequestWorkItem.sendResultsIfNeeded] requestID: zY4jZqjDCpo/.0 resultsID: 84 done: true

                      21 Jun 2012 00:26:31,438 PDT DEBUG [org.teiid.CONNECTOR] (Worker13_QueryProcessorQueue108) zY4jZqjDCpo/.0.0.31 Processing Close : SELECT security_ldap.people.objectclass, security_ldap.people.ou FROM security_ldap.people

                      21 Jun 2012 00:26:31,438 PDT DEBUG [org.teiid.TRANSPORT] (Worker12_QueryProcessorQueue107)  message: MessageHolder: contents=ResultsMessage rowCount=0 finalRow=0 for message:711

                      21 Jun 2012 00:26:31,438 PDT DEBUG [org.teiid.COMMAND_LOG] (Worker13_QueryProcessorQueue108)     END SRC COMMAND:    endTime=2012-06-21 00:26:31.438    requestID=zY4jZqjDCpo/.0    sourceCommandID=0    txID=null    modelName=security_ldap    translatorName=security_ldap.delegated-translator    sessionID=zY4jZqjDCpo/    principal=admin@teiid-security    finalRowCount=0

                      21 Jun 2012 00:26:31,438 PDT DEBUG [org.teiid.CONNECTOR] (Worker13_QueryProcessorQueue108) zY4jZqjDCpo/.0.0.31 Closed execution

                      21 Jun 2012 00:26:31,439 PDT DEBUG [org.teiid.CONNECTOR] (Worker13_QueryProcessorQueue108) zY4jZqjDCpo/.0.0.31 Remove State

                      21 Jun 2012 00:26:31,439 PDT DEBUG [org.teiid.CONNECTOR] (Worker13_QueryProcessorQueue108) zY4jZqjDCpo/.0.0.31 Closed connection

                      21 Jun 2012 00:26:31,440 PDT DEBUG [org.teiid.TRANSPORT] (New I/O server worker #1-1) processing message:MessageHolder: contents=org.teiid.net.socket.ServiceInvocationStruct@67d91861

                      21 Jun 2012 00:26:31,441 PDT DEBUG [org.teiid.TRANSPORT] (New I/O server worker #1-1)  message: MessageHolder: contents=org.teiid.client.metadata.MetadataResult@5dcfbd8a for message:712

                      21 Jun 2012 00:26:31,480 PDT DEBUG [org.teiid.TRANSPORT] (New I/O server worker #1-1) processing message:MessageHolder: contents=org.teiid.net.socket.ServiceInvocationStruct@feeaaaf

                      21 Jun 2012 00:26:31,480 PDT DEBUG [org.teiid.PROCESSOR] (New I/O server worker #1-1) closeQuery for requestID=zY4jZqjDCpo/.0

                      21 Jun 2012 00:26:31,480 PDT DEBUG [org.teiid.TRANSPORT] (New I/O server worker #1-1)  message: MessageHolder: contents=null for message:713

                      21 Jun 2012 00:26:31,480 PDT DEBUG [org.teiid.PROCESSOR] (Worker13_QueryProcessorQueue109) Request Thread zY4jZqjDCpo/.0 with state PROCESSING

                      21 Jun 2012 00:26:31,480 PDT DEBUG [org.teiid.PROCESSOR] (Worker13_QueryProcessorQueue109) Removing tuplesource for the request zY4jZqjDCpo/.0

                      21 Jun 2012 00:26:31,480 PDT DEBUG [org.teiid.BUFFER_MGR] (Worker13_QueryProcessorQueue109) Removing TupleBuffer: 84

                      21 Jun 2012 00:26:32,561 PDT DEBUG [org.teiid.TRANSPORT] (New I/O server worker #1-1) processing message:MessageHolder: contents=org.teiid.net.socket.ServiceInvocationStruct@2831e30e

                      21 Jun 2012 00:26:32,561 PDT DEBUG [org.teiid.SECURITY] (New I/O server worker #1-1) closeSession zY4jZqjDCpo/

                      21 Jun 2012 00:26:32,561 PDT DEBUG [org.teiid.TXN_LOG] (New I/O server worker #1-1) before cancelTransactions:org.teiid.dqp.internal.process.TransactionServerImpl@35c220f9(zY4jZqjDCpo/,false)

                      21 Jun 2012 00:26:32,561 PDT DEBUG [org.teiid.TXN_LOG] (New I/O server worker #1-1) after cancelTransactions : null

                      21 Jun 2012 00:26:32,561 PDT DEBUG [org.teiid.TRANSPORT] (New I/O server worker #1-1)  message: MessageHolder: contents=null for message:714

                      • 8. Re: Doc/Example on how to use ldap translator
                        gamvi01

                        Iam getting the results now. Culprit was "RESTRICT" work for nameInSource of the table.

                        • 9. Re: Doc/Example on how to use ldap translator
                          rareddy

                          Great!

                           

                          I look forward for you providing us with a document patch

                           

                          Thanks

                           

                          Ramesh..

                          • 10. Re: Doc/Example on how to use ldap translator
                            gamvi01

                            Sure would do definately.

                             

                            iam trying to perform inserts/updates/deletes too . But i get the below error ? Is there some property i need to set ? I have ovveriden createUpdateExecution method in my class.

                             

                            UPDATE  security_ldap.people SET  ou='test' where sn='Gampa'

                             

                            insert into security_ldap.people(objectclass,sn,cn,ou) values('organizationalUnit','ca emp','caemployees','ou=groups,ou=system')

                             

                             

                             

                             

                            Remote org.teiid.api.exception.query.QueryValidatorException: Metadata does not allow updates on the group: security_ldap.people

                             

                             

                            Elapsed Time:  0 hr, 0 min, 0 sec, 0 ms.

                             

                            Probably you can point me to your update/inserts unittests.

                            • 11. Re: Doc/Example on how to use ldap translator
                              gamvi01

                              setting updatable on table and columns resolved that.

                              • 12. Re: Doc/Example on how to use ldap translator
                                jaigates

                                hi vineela/ramesh

                                how to deploy this custom translator in jboss. i did copy the compiled jar in the deploy folder and inserted the vdb.xml as below, but i am getting vdb deploy exception

                                 

                                <?xml version="1.0" encoding="UTF-8" standalone="yes"?>

                                <vdb version="1" name="Globalapi-LDAP-VDB">

                                <!--     <property name="UseConnectorMetadata" value="cached" />

                                    <model type="PHYSICAL" visible="true" name="ldapCon">

                                        <property name="importer.useFullSchemaName" value="true"/>

                                        <source name="ldap-connector" translator-name="translatorldap" connection-jndi-name="java:Globalapi-ldap-ds" />

                                    </model>

                                    <translator name="translatorldap" type="ldap"/> -->

                                 

                                    <model type="PHYSICAL" visible="true" name="security_ldap">

                                        <property name="importer.useFullSchemaName" value="false"/>

                                        <source name="security_ldap" connection-jndi-name="java:Globalapi-ldap-ds" translator-name="security_ldap.delegated-translator"/>

                                    </model>

                                 

                                <translator name="security_ldap.delegating-translator" type="ldap"/>

                                    <translator name="security_ldap.delegated-translator" type="chorus-translator-safetyHarness">

                                        <property name="DelegateName" value="security_ldap.delegating-translator"/>

                                    </translator>

                                 

                                </vdb>

                                 

                                 

                                23:01:23,609 ERROR (HDScanner)  [org.jboss.kernel.plugins.dependency.AbstractKernelController] Error installing to Real: name=vfsfile:/D:/AppServers/JbossSOA-p/soa-p-5.3.1.GA/jboss-soa-p-5/jboss-as/server/default/deploy/Globalapi-ldap-vdb.xml state=PreReal mode=Manual requiredState=Real

                                org.jboss.deployers.spi.DeploymentException: The parent translator defined not found in configuration "vfsfile:/D:/AppServers/JbossSOA-p/soa-p-5.3.1.GA/jboss-soa-p-5/jboss-as/server/default/deploy/Globalapi-ldap-vdb.xml"

                                    at org.teiid.deployers.VDBDeployer.deploy(VDBDeployer.java:102)

                                    at org.teiid.deployers.VDBDeployer.deploy(VDBDeployer.java:60)

                                    at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)

                                    at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:55)

                                    at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:179)

                                    at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1454)

                                    at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1172)

                                    at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1113)

                                    at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)

                                    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1652)

                                    at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:938)

                                    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)

                                    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:988)

                                    at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:826)

                                    at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:556)

                                    at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:789)

                                    at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:699)

                                    at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)

                                    at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:409)

                                    at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:294)

                                    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)

                                    at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)

                                    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)

                                    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)

                                    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)

                                    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)

                                    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

                                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

                                    at java.lang.Thread.run(Thread.java:662)

                                23:01:23,729 WARN  (HDScanner)  [org.jboss.system.server.profileservice.hotdeploy.HDScanner] Failed to process changes

                                org.jboss.deployers.client.spi.IncompleteDeploymentException: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):

                                 

                                *** DEPLOYMENTS IN ERROR: Name -> Error

                                 

                                vfsfile:/D:/AppServers/JbossSOA-p/soa-p-5.3.1.GA/jboss-soa-p-5/jboss-as/server/default/deploy/Globalapi-ldap-vdb.xml -> org.jboss.deployers.spi.DeploymentException: The parent translator defined not found in configuration "vfsfile:/D:/AppServers/JbossSOA-p/soa-p-5.3.1.GA/jboss-soa-p-5/jboss-as/server/default/deploy/Globalapi-ldap-vdb.xml"

                                 

                                 

                                DEPLOYMENTS IN ERROR:

                                  Deployment "vfsfile:/D:/AppServers/JbossSOA-p/soa-p-5.3.1.GA/jboss-soa-p-5/jboss-as/server/default/deploy/Globalapi-ldap-vdb.xml" is in error due to the following reason(s): org.jboss.deployers.spi.DeploymentException: The parent translator defined not found in configuration "vfsfile:/D:/AppServers/JbossSOA-p/soa-p-5.3.1.GA/jboss-soa-p-5/jboss-as/server/default/deploy/Globalapi-ldap-vdb.xml"

                                 

                                    at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:1008)

                                    at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:954)

                                    at org.jboss.deployers.plugins.main.MainDeployerImpl.checkComplete(MainDeployerImpl.java:870)

                                    at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.checkComplete(MainDeployerAdapter.java:128)

                                    at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:416)

                                    at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:294)

                                    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)

                                    at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)

                                    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)

                                    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)

                                    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)

                                    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)

                                    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

                                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

                                    at java.lang.Thread.run(Thread.java:662)

                                23:03:46,909 DEBUG (ESBScheduler:jbossesb.esb_Worker-0)  [org.jboss.soa.esb.listeners.message.ActionProcessingPipeline] pipeline process for message: header: [  ]

                                23:03:46,909 DEBUG (ESBScheduler:jbossesb.esb_Worker-0)  [org.jboss.soa.esb.listeners.message.ActionProcessingPipeline] executing processor 0 org.jboss.soa.esb.actions.MessageRedeliverer@702c20fc

                                • 13. Re: Doc/Example on how to use ldap translator
                                  shawkins

                                  Is your custom translator defining the "chorus-translator-safetyHarness" type? 

                                   

                                  From Vineela's code sample above, the actual name of the custom translator is "translator-security-ldap".

                                   

                                  Steve

                                  • 14. Re: Doc/Example on how to use ldap translator
                                    jaigates

                                    yup now i have solved it. refer https://community.jboss.org/message/817538#7