Index: ExtendedHandler.java =================================================================== --- ExtendedHandler.java (Revision 263883) +++ ExtendedHandler.java (Arbeitskopie) @@ -17,11 +17,15 @@ package org.apache.ldap.server.protocol; -import org.apache.ldap.common.NotImplementedException; +import org.apache.ldap.common.message.ExtendedRequest; +import org.apache.ldap.common.message.ExtendedResponse; +import org.apache.ldap.common.message.ExtendedResponseImpl; +import org.apache.ldap.common.message.LdapResult; +import org.apache.ldap.common.message.LdapResultImpl; +import org.apache.ldap.common.message.ResultCodeEnum; import org.apache.mina.protocol.ProtocolSession; import org.apache.mina.protocol.handler.MessageHandler; - /** * A single reply handler for {@link org.apache.ldap.common.message.ExtendedRequest}s. * @@ -32,6 +36,18 @@ { public void messageReceived( ProtocolSession session, Object request ) { - throw new NotImplementedException( "handle in org.apache.ldap.server.protocol.ExtendedHandler not implemented!" ); + ExtendedRequest req = ( ExtendedRequest ) request; + ExtendedResponse resp = new ExtendedResponseImpl( req.getMessageId() ); + resp.setLdapResult( new LdapResultImpl( resp ) ); + + // As long as no extended operations are implemented, send appropriate + // error back to the client. + String msg = "Unrecognized extended operation"; + + LdapResult result = resp.getLdapResult(); + result.setResultCode( ResultCodeEnum.PROTOCOLERROR ); + result.setErrorMessage( msg ); + + session.write( resp ); } }