directory-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Yiannis Mavroukakis <imavrouka...@gameaccount.com>
Subject Re: classcast on ApacheDS
Date Wed, 22 Apr 2009 15:00:49 GMT
Sorry I meant build off of the SVN branch, this is what I am using.

Mert Çalışkan wrote:
> 1.5.5?
> latest downloads are only for 1.5.4, no?
> http://directory.apache.org/apacheds/1.5/downloads.html
>
> 2009/4/22 Yiannis Mavroukakis <imavroukakis@gameaccount.com>
>
>   
>> Have you tried this with 1.5.5 ?
>>
>>
>> Mert Çalışkan wrote:
>>
>>     
>>> yes, when that method executes, my ApacheDS server (standalone working
>>> one)
>>> throws that error.
>>>
>>>
>>> 2009/4/22 Yiannis Mavroukakis <imavroukakis@gameaccount.com>
>>>
>>>
>>>
>>>       
>>>> Are you getting the same ClassCastException as the root cause of the
>>>> search?
>>>>
>>>>
>>>> Mert Çalışkan wrote:
>>>>
>>>>
>>>>
>>>>         
>>>>> Hey,
>>>>>
>>>>> via jdni calls I guess, seam's ldap-identity-store is taking care of...
>>>>> lemme elaborate the case,
>>>>>
>>>>> Actually before creating a user, the seam framework is doing a search
>>>>> with
>>>>> userExists method.
>>>>>
>>>>>  public boolean userExists(String name)
>>>>>  {
>>>>>     InitialLdapContext ctx = null;
>>>>>     try
>>>>>     {
>>>>>        ctx = initialiseContext();
>>>>>
>>>>>        String[] userAttr = {getUserNameAttribute()};
>>>>>
>>>>>        SearchControls controls = new SearchControls();
>>>>>        controls.setSearchScope(searchScope);
>>>>>        controls.setReturningAttributes(userAttr);
>>>>>        controls.setTimeLimit(getSearchTimeLimit());
>>>>>
>>>>>        StringBuilder userFilter = new StringBuilder();
>>>>>
>>>>>        Object[] filterArgs = new Object[getUserObjectClasses().length];
>>>>>        for (int i = 0; i < getUserObjectClasses().length; i++)
>>>>>        {
>>>>>           userFilter.append("(");
>>>>>           userFilter.append(getObjectClassAttribute());
>>>>>           userFilter.append("={");
>>>>>           userFilter.append(i);
>>>>>           userFilter.append("})");
>>>>>           filterArgs[i] = getUserObjectClasses()[i];
>>>>>        }
>>>>>
>>>>>        NamingEnumeration answer = ctx.search(getUserContextDN(),
>>>>> userFilter.toString(), filterArgs, controls);
>>>>>        while (answer.hasMore())
>>>>>        {
>>>>>           SearchResult sr = (SearchResult) answer.next();
>>>>>           Attributes attrs = sr.getAttributes();
>>>>>           Attribute user = attrs.get(getUserNameAttribute());
>>>>>
>>>>>           for (int i = 0; i < user.size(); i++)
>>>>>           {
>>>>>              Object value = user.get(i);
>>>>>              if (name.equals(value))
>>>>>              {
>>>>>                 answer.close();
>>>>>                 return true;
>>>>>              }
>>>>>           }
>>>>>        }
>>>>>        answer.close();
>>>>>        return false;
>>>>>     }
>>>>>     catch (NamingException ex)
>>>>>     {
>>>>>        throw new IdentityManagementException("Error getting users", ex);
>>>>>     }
>>>>>     finally
>>>>>     {
>>>>>        if (ctx != null)
>>>>>        {
>>>>>           try
>>>>>           {
>>>>>              ctx.close();
>>>>>           }
>>>>>           catch (NamingException ex) {}
>>>>>        }
>>>>>     }
>>>>>  }
>>>>>
>>>>> and this is throwing out,
>>>>>
>>>>>  Caused by:
>>>>> org.jboss.seam.security.management.IdentityManagementException:
>>>>> Error getting users
>>>>>   at
>>>>>
>>>>>
>>>>> org.jboss.seam.security.management.LdapIdentityStore.userExists(LdapIdentityStore.java:1235)
>>>>>   at
>>>>>
>>>>>
>>>>> org.jboss.seam.security.management.IdentityManager.userExists(IdentityManager.java:172)
>>>>>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>   at
>>>>>
>>>>>
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>>   at
>>>>>
>>>>>
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>>   at java.lang.reflect.Method.invoke(Method.java:597)
>>>>>   at
>>>>> org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:335)
>>>>>   ... 79 more
>>>>> Caused by: javax.naming.CommunicationException: Request: 2 cancelled;
>>>>> remaining name 'ou=people,o=mycompany'
>>>>>   at com.sun.jndi.ldap.LdapRequest.getReplyBer(LdapRequest.java:60)
>>>>>   at com.sun.jndi.ldap.Connection.readReply(Connection.java:411)
>>>>>
>>>>> M
>>>>>
>>>>>
>>>>> On Wed, Apr 22, 2009 at 3:55 PM, Yiannis Mavroukakis <
>>>>> imavroukakis@gameaccount.com> wrote:
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>           
>>>>>> How are you creating this new person? Via JNDI calls or through the
DS
>>>>>> API?
>>>>>>
>>>>>> Y.
>>>>>>
>>>>>>
>>>>>> Mert Çalışkan wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>             
>>>>>>> Hi,
>>>>>>>
>>>>>>> I'm integrating the seam framework's user management module with
>>>>>>> ApacheDS
>>>>>>> ldap. For creating a new user (person objectClass) in the DS
I got the
>>>>>>> error
>>>>>>> below,
>>>>>>> So apacheDS is forcing the client to close the conn since it
gets a
>>>>>>> classcast. I'm on 1.5.4 version. How to debug & solve this?
Any clues?
>>>>>>>
>>>>>>> Thanks,
>>>>>>>
>>>>>>> M
>>>>>>>
>>>>>>> Trace:
>>>>>>>
>>>>>>> [15:39:46] WARN [org.apache.directory.server.ldap.LdapProtocolHandler]
>>>>>>> -
>>>>>>> [/
>>>>>>> 127.0.0.1:2453] Unexpected exception forcing
>>>>>>> session to close: sending disconnect notice to client.
>>>>>>> *org.apache.mina.filter.codec.ProtocolDecoderException:
>>>>>>> java.lang.ClassCastException: org.apache.directory.shared.ldap.co
>>>>>>> dec.search.AttributeValueAssertionFilter cannot be cast to
>>>>>>> org.apache.directory.shared.ldap.codec.search.ConnectorFilter*
>>>>>>> (Hexdump: 30 81 82 02 01 02 63 60 04 17 6F 75 3D 70 65 6F 70
6C 65 2C
>>>>>>> 6F
>>>>>>> 3D
>>>>>>> 6F 6E 74 6F 6D 65 74 72 69 63 73 0A 01 02 0
>>>>>>> A 01 03 02 01 00 02 01 0B 01 01 00 A3 15 04 0B 6F 62 6A 65 63
74 43 6C
>>>>>>> 61
>>>>>>> 73
>>>>>>> 73 04 06 70 65 72 73 6F 6E A3 18 04 0B 6F 6
>>>>>>> 2 6A 65 63 74 43 6C 61 73 73 04 09 75 69 64 4F 62 6A 65 63 74
30 05 04
>>>>>>> 03
>>>>>>> 75
>>>>>>> 69 64 A0 1B 30 19 04 17 32 2E 31 36 2E 38 3
>>>>>>> 4 30 2E 31 2E 31 31 33 37 33 30 2E 33 2E 34 2E 32)
>>>>>>>     at
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:165)
>>>>>>>     at
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
>>>>>>>     at
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
>>>>>>>     at
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:6
>>>>>>> 48)
>>>>>>>     at
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:220)
>>>>>>>     at
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(ExecutorFilter.java:264)
>>>>>>>     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
>>>>>>> Source)
>>>>>>>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
>>>>>>> Source)
>>>>>>>     at java.lang.Thread.run(Unknown Source)
>>>>>>> Caused by: java.lang.ClassCastException:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> org.apache.directory.shared.ldap.codec.search.AttributeValueAssertionFilter
>>>>>>> can
>>>>>>> not be cast to
>>>>>>> org.apache.directory.shared.ldap.codec.search.ConnectorFilter
>>>>>>>     at
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> org.apache.directory.shared.ldap.codec.search.SearchRequest.addCurrentFilter(SearchRequest.java:356)
>>>>>>>     at
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> org.apache.directory.shared.ldap.codec.actions.InitEqualityMatchFilterAction.action(InitEqualityMatchFilterAc
>>>>>>> tion.java:70)
>>>>>>>     at
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> org.apache.directory.shared.asn1.ber.grammar.AbstractGrammar.executeAction(AbstractGrammar.java:153)
>>>>>>>     at
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> org.apache.directory.shared.asn1.ber.Asn1Decoder.treatTLVDoneState(Asn1Decoder.java:620)
>>>>>>>     at
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> org.apache.directory.shared.asn1.ber.Asn1Decoder.decode(Asn1Decoder.java:796)
>>>>>>>     at
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> org.apache.directory.shared.ldap.codec.TwixDecoder.decode(TwixDecoder.java:110)
>>>>>>>     at
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> org.apache.directory.shared.ldap.message.MessageDecoder.decode(MessageDecoder.java:150)
>>>>>>>     at
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> org.apache.directory.shared.asn1.codec.Asn1CodecDecoder.decode(Asn1CodecDecoder.java:53)
>>>>>>>     at
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:158)
>>>>>>>     ... 8 more
>>>>>>> [15:39:46] WARN [org.apache.directory.server.ldap.LdapProtocolHandler]
>>>>>>> -
>>>>>>> Null LdapSession given to cleanUpSession.
>>>>>>> [15:39:46] WARN [org.apache.directory.server.ldap.LdapProtocolHandler]
>>>>>>> -
>>>>>>> Null LdapSession given to cleanUpSession.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>               
>>>       
>
>   

Mime
View raw message