Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface ExtendedRequest extends Serializable
ExtendedRequest ::= [APPLICATION 23] SEQUENCE { requestName [0] LDAPOID, requestValue [1] OCTET STRING OPTIONAL }Это включает объектную строку идентификатора и дополнительный BER ASN.1 закодированное значение.
Методы в этом классе используются поставщиком услуг, чтобы создать биты, чтобы передаться к серверу LDAP. Приложения обычно только имеют дело с классами, которые реализуют этот интерфейс, предоставляя их любую информацию, запрошенную для определенного расширенного запроса работы. Это тогда передало бы такой класс как параметр методу LdapContext.extendedOperation() для того, чтобы выполнить LDAPv3 расширенная работа.
Например, предположите, что сервер LDAP, поддерживаемый ', получает время' расширенная работа. Это предоставило бы классы GetTimeRequest и GetTimeResponse:
Программа использовала бы тогда эти классы следующим образом:public class GetTimeRequest implements ExtendedRequest { public GetTimeRequest() {... }; public ExtendedResponse createExtendedResponse(String id, byte[] berValue, int offset, int length) throws NamingException { return new GetTimeResponse(id, berValue, offset, length); } ... } public class GetTimeResponse implements ExtendedResponse { long time; public GetTimeResponse(String id, byte[] berValue, int offset, int length) throws NamingException { time = ... // decode berValue to get time } public java.util.Date getDate() { return new java.util.Date(time) }; public long getTime() { return time }; ... }
GetTimeResponse resp = (GetTimeResponse) ectx.extendedOperation(new GetTimeRequest()); long time = resp.getTime();
ExtendedResponse
, LdapContext.extendedOperation(javax.naming.ldap.ExtendedRequest)
Модификатор и Тип | Метод и Описание |
---|---|
ExtendedResponse |
createExtendedResponse(String id, byte[] berValue, int offset, int length)
Создает объект ответа, который соответствует этому запросу.
|
byte[] |
getEncodedValue()
Получает BER ASN.1 закодированное значение LDAP расширенный запрос работы.
|
Строка |
getID()
Получает объектный идентификатор запроса.
|
String getID()
byte[] getEncodedValue()
IllegalStateException
- Если закодированное значение не может быть получено, потому что запрос содержит недостаточные или недопустимые данные/состояние.ExtendedResponse createExtendedResponse(String id, byte[] berValue, int offset, int length) throws NamingException
После того, как поставщик услуг отправил расширенный запрос работы серверу LDAP, он получит ответ от сервера. Если работа перестала работать, провайдер бросит NamingException. Если работа успешно выполнялась, провайдер вызовет этот метод, используя данные, которые это возвращало в ответе. Это - задание этого метода, чтобы возвратить класс, который реализует интерфейс ExtendedResponse, который является подходящим для расширенного запроса работы.
Например, TLS Запуска, который должен был бы знать расширенный класс запроса, как обработать TLS Запуска расширенный ответ. Это делает это, создавая класс, который реализует ExtendedResponse.
id
- Возможно нуль возражают идентификатору управления ответом.berValue
- Возможно нулевой BER ASN.1 закодированное значение управления ответом. Это - необработанные байты BER включая тег и длину значения ответа. Это не включает OID ответа.offset
- Стартовая позиция в berValue байтов, чтобы использовать.length
- Число байтов в berValue, чтобы использовать.NamingException
- если не может создать расширенный ответ из-за ошибки.ExtendedResponse
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.