Snipplets about how to use the LDAP Transformer
Official Cocoon doc: Cocoon LDAP Transformer
Getting the Transformer
The LDAP Tranformer is not included in Cocoon 2.0.3/4 binary version. You have to build your own Version of Cocoon with LDAP Transformer from the sources. How this can be done can be found on http://xml.apache.org/cocoon/installing/index.html.
Sitemap Code Snipplets
Components configuration:
<map:transformers> <map:transformer name="ldap" src="org.apache.cocoon.transformation.LDAPTransformer"/> </map:transformers>
Little example pipeline:
<map:match pattern="doldapqry"> <map:generate src="LdapQry.xml" /> <map:transform type="ldap" /> <map:serialize type="xml" /> </map:match>
Example Query File (check against the documented DTD)
(get all persons with a telephonenumber )
<?xml version="1.0" encoding="ISO-8859-1"?> <LDAPUSER xmlns:ldap="http://apache.org/cocoon/LDAP/1.0"> <ldap:execute-query> <ldap:initializer>com.sun.jndi.ldap.LdapCtxFactory</ldap:initializer> <ldap:authentication>simple</ldap:authentication> <ldap:version>3</ldap:version> <ldap:serverurl>ldap://host.com</ldap:serverurl> <ldap:port>389</ldap:port> <ldap:scope>SUBTREE_SCOPE</ldap:scope> <!--<ldap:scope>ONELEVEL_SCOPE</ldap:scope>--> <ldap:searchbase>o=tree</ldap:searchbase> <ldap:rootdn>cn=admin,ou=ou,ou=test,o=tree</ldap:rootdn> <ldap:password>secretpw</ldap:password> <ldap:debug>FALSE</ldap:debug> <ldap:deref-link>TRUE</ldap:deref-link> <ldap:count-limit>0</ldap:count-limit> <ldap:time-limit>0</ldap:time-limit> <ldap:filter>(&(telephoneNumber=*)(objectClass=person))</ldap:filter> <ldap:show-attribute>TRUE</ldap:show-attribute> <ldap:doc-element>LDAP</ldap:doc-element> <ldap:row-element>LDAPSET</ldap:row-element> <ldap:error-element>ELEMENT</ldap:error-element> <ldap:attribute>ou</ldap:attribute> <ldap:attribute>givenName</ldap:attribute> <ldap:attribute>sn</ldap:attribute> <ldap:attribute>fullName</ldap:attribute> <ldap:attribute>l</ldap:attribute> <ldap:attribute>telephoneNumber</ldap:attribute> </ldap:execute-query> </LDAPUSER>
– MartinGeissler
Is it okay for you to post the ldap configs and the sample ldif file entry to search? - user