模块  java.naming
软件包  javax.naming.ldap

Interface ExtendedResponse

  • All Superinterfaces:
    Serializable
    All Known Subinterfaces:
    UnsolicitedNotification
    所有已知实现类:
    StartTlsResponse

    public interface ExtendedResponse
    extends Serializable
    此接口表示RFC 2251中定义的LDAP扩展操作响应。
      ExtendedResponse ::= [APPLICATION 24] SEQUENCE {
              COMPONENTS OF LDAPResult,
              responseName     [10] LDAPOID OPTIONAL,
              response         [11] OCTET STRING OPTIONAL } 
    它包含可选的对象标识符和可选的ASN.1 BER编码值。

    应用程序可以使用此类中的方法来获取有关扩展操作响应的低级信息。 但是,通常,应用程序将使用特定于实现此接口的类的方法。 这样的类应该在响应中解码BER缓冲区,并且应该提供允许用户以类型安全和友好的方式访问响应中的数据的方法。

    例如,假设LDAP服务器支持“获取时间”扩展操作。 它将提供GetTimeRequest和GetTimeResponse类。 GetTimeResponse类可能如下所示:

     public class GetTimeResponse implements ExtendedResponse {
         public java.util.Date getDate() {...};
         public long getTime() {...};
         ....
     }
    
    程序将使用这些类,如下所示:
     GetTimeResponse resp =
         (GetTimeResponse) ectx.extendedOperation(new GetTimeRequest());
     java.util.Date now = resp.getDate();
    
    从以下版本开始:
    1.3
    另请参见:
    ExtendedRequest
    • 方法详细信息

      • getID

        String getID()
        检索响应的对象标识符。 LDAP协议指定响应对象标识符是可选的。 如果服务器没有发送它,响应将不包含ID(即null)。
        结果
        可能为null的对象标识符字符串,表示LDAP ExtendedResponse.responseName组件。
      • getEncodedValue

        byte[] getEncodedValue()
        检索LDAP扩展操作响应的ASN.1 BER编码值。 如果LDAP服务器发送的响应中不存在该值,则返回Null。 结果是原始BER字节,包括标记和响应值的长度。 它不包括响应OID。
        结果
        一个可能为空的字节数组,表示LDAP ExtendedResponse.response组件的ASN.1 BER编码内容。