Module  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(即为空)。
        结果
        表示LDAP ExtendedResponse.responseName组件的可能为空的对象标识符字符串。
      • getEncodedValue

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