directory-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emmanuel Lecharny <elecha...@apache.org>
Subject Re: How to bind and search binary data in Apache DS?
Date Sat, 28 Feb 2009 10:25:35 GMT
Sudheer Kumar wrote:
> Hi, I am new to LDAP and Apache DS.  Kindly help me solve my problem.
>
> I have an attribute with binary (m-syntax: 1.3.6.1.4.1.1466.115.121.1.5) as
> its type.  This attribute is  added as an attribute to an Object class.  I
> tried to bind a String value (xml) to it.
It can't work. Your attribute is binary, there are no conversion done on 
the client side.

> Converting the String to byte array ( byte[] contentInBytes =
> xml.getBytes()) doesn't solve the problem. 
Can you post the code where you do this transformation ? Here is a test 
we use to check that we can inject binary attributes :

    /**
     * Add a new attribute to a person entry.
     */
    @Test
    public void testAddNewBinaryAttributeValue() throws Exception
    {
        DirContext ctx = ( DirContext ) getWiredContext( ldapService 
).lookup( BASE );
       
        // Add a binary attribute
        byte[] newValue = new byte[]{0x00, 0x01, 0x02, 0x03};
        Attributes attrs = new BasicAttributes( 
"userCertificate;binary", newValue, true );
        ctx.modifyAttributes( RDN_TORI_AMOS, DirContext.ADD_ATTRIBUTE, 
attrs );

        // Verify, that attribute value is added
        attrs = ctx.getAttributes( RDN_TORI_AMOS );
        Attribute attr = attrs.get( "userCertificate" );
        assertNotNull( attr );
        assertTrue( attr.contains( newValue ) );
        byte[] certificate = (byte[])attr.get();
        assertTrue( Arrays.equals( newValue, certificate ) );
        assertEquals( 1, attr.size() );
    }
}



-- 
--
cordialement, regards,
Emmanuel L├ęcharny
www.iktek.com
directory.apache.org



Mime
View raw message