1 Reply Latest reply on Apr 22, 2013 9:50 AM by duncancumming

    LDAP output issue

    IronGarden

      I've been banging my head on the desk this morning looking at this code.  I don't know what I'm doing wrong. I can cfdump the data I want, but then I can't output it with cfoutput.  Here's the code:

       

      <cfldap action="QUERY"

                             name="userSearch"

                             attributes="*"

                             start="ou=people,dc=myldapserver,dc=com"

                             scope="SUBTREE"

                             server="myldapserver.com"

                             port="xxxx"

                             filter="#filter#"

                             secure="CFSSL_BASIC">

                            

      <cfdump var="#userSearch#" >

      <cfoutput query="userSearch">#givenName#</cfoutput>

       

      The cfdump returns the following: 

      query
      NAMEVALUE
      1uid username
      2objectClass comPerson
      3givenName Jane
      4sn Doe
      5cn Jane Doe

       

      The cfoutput gives this error message: Variable GIVENNAME is undefined.

        • 1. Re: LDAP output issue
          duncancumming Level 3

          You have a query with 5 rows in it.  It has two columns, called respectively 'Name' and 'Value'.  So when you try to access #givenName# it fails because it doesn't know what you're on about.

           

          Instead you'd have to refer to #userSearch.Name# (notice I've query-scoped the column, always a good idea). 

           

          If you're specifically wanting to get just the value of the givenName, you could refer to it like this (if you know that it will always be the third column):

           

          <cfoutput>#userSearch.Name[3]#</cfoutput>

           

          NB: this will just output 'givenName'.  So you'd maybe rather use #userSearch.Value[3]#

           

          But it would be better to turn your query into a struct.  Alternatively, loop over the query.  Check the Name column on each iteration of the loop.  If Name = 'givenName', output the Value column.