directory-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mert Çalışkan <mcalis...@gmail.com>
Subject Re: classcast on ApacheDS
Date Wed, 22 Apr 2009 15:03:20 GMT
ok,
is there any nightly builds? or I should do it myself?

2009/4/22 Yiannis Mavroukakis <imavroukakis@gameaccount.com>

> 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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message