public interface ClientRequestInfoOperations extends RequestInfoOperations
Некоторые атрибуты и операции на ClientRequestInfo
не допустимы во всех точках перехвата. Следующая таблица показывает законность каждого атрибута или работы. Если это не будет допустимо, то пытаясь получить доступ к этому приведет к a BAD_INV_ORDER
будучи брошенным со стандартным незначительным кодом 14.
send_request | send_poll | receive_reply | receive_exception | receive_other | |
---|---|---|---|---|---|
Наследованный от RequestInfo: | |||||
request_id |
да | да | да | да | да |
работа |
да | да | да | да | да |
параметры |
yes1 | нет | да | нет | нет |
исключения |
да | нет | да | да | да |
контексты |
да | нет | да | да | да |
operation_context |
да | нет | да | да | да |
результат |
нет | нет | да | нет | нет |
response_expected |
да | да | да | да | да |
sync_scope |
да | нет | да | да | да |
reply_status |
нет | нет | да | да | да |
forward_reference |
нет | нет | нет | нет | yes2 |
get_slot |
да | да | да | да | да |
get_request_service_context |
да | нет | да | да | да |
get_reply_service_context |
нет | нет | да | да | да |
ClientRequestInfo-специфичный: | |||||
цель |
да | да | да | да | да |
effective_target |
да | да | да | да | да |
effective_profile |
да | да | да | да | да |
received_exception |
нет | нет | нет | да | нет |
received_exception_id |
нет | нет | нет | да | нет |
get_effective_component |
да | нет | да | да | да |
get_effective_components |
да | нет | да | да | да |
get_request_policy |
да | нет | да | да | да |
add_request_service_context |
да | нет | нет | нет | нет |
ClientRequestInfo
к передают send_request
, есть запись в списке для каждого параметра, ли в, inout, или. Но только в и inout параметры будет доступно.reply_status
atribute не LOCATION_FORWARD
, доступ к этому атрибуту бросит BAD_INV_ORDER
со стандартным незначительным кодом 14.ClientRequestInterceptor
Модификатор и Тип | Метод и Описание |
---|---|
void |
add_request_service_context(ServiceContext service_context, boolean replace)
Позволяет Перехватчикам добавлять контексты службы к запросу.
|
TaggedProfile |
effective_profile()
Возвращает профиль, который будет использоваться, чтобы отправить запрос.
|
Объект |
effective_target()
Возвращает фактический объект, на который будет вызвана работа.
|
TaggedComponent |
get_effective_component(int id)
Возвраты
IOP.TaggedComponent с данным ID от профиля, выбранного для этого запроса. |
TaggedComponent[] |
get_effective_components(int id)
Возвращает массив всех теговых компонентов с данным ID от профиля, выбранного для этого запроса.
|
Политика |
get_request_policy(int type)
Возвращает данную политику в действительности для этой работы.
|
Строка |
received_exception_id()
Возвращает идентификатор репозитария исключения, которое будет возвращено клиенту.
|
Любой |
received_exception()
Возвращает любого, который содержит исключение, которое будет возвращено клиенту.
|
Объект |
target()
Возвращает объект который клиент, вызванный, чтобы выполнить работу.
|
arguments, contexts, exceptions, forward_reference, get_reply_service_context, get_request_service_context, get_slot, operation_context, operation, reply_status, request_id, response_expected, result, sync_scope
Object target()
effective_target()
Object effective_target()
reply_status
LOCATION_FORWARD
, тогда по последующим запросам, effective_target
будет содержать переданный IOR, в то время как цель останется неизменной.target()
TaggedProfile effective_profile()
Any received_exception()
Если исключение является пользовательским исключением, которое не может быть вставлено в любого (например, это неизвестно, или Дон привязки t обеспечивают TypeCode
), тогда этот атрибут будет любым, содержащим системное исключение UNKNOWN
со стандартным незначительным кодом 1. Однако, идентификатор репозитария исключения доступен в received_exception_id
атрибут.
received_exception_id()
String received_exception_id()
TaggedComponent get_effective_component(int id)
IOP.TaggedComponent
с данным ID от профиля, выбранного для этого запроса. Если есть больше чем один компонент для данного компонентного ID, это неопределено, какой компонент эта работа возвращает. Если есть больше чем один компонент для данного компонентного ID, get_effective_components
должен быть вызван вместо этого.
id
- Компонентный идентификатор компонента, который должен быть возвращен.IOP.TaggedComponent
полученный с данным идентификатором.BAD_PARAM
- брошенный, со стандартным незначительным кодом 28, если никакой компонент не существует для данного компонентного ID.get_effective_components(int)
TaggedComponent[] get_effective_components(int id)
id
- Компонентный идентификатор компонентов, которые должны быть возвращены.TaggedComponent
объекты, каждый из которых содержит данный идентификатор.BAD_PARAM
- брошенный, со стандартным незначительным кодом 28, если никакой компонент не существует для данного компонентного ID.get_effective_component(int)
Policy get_request_policy(int type)
type
- Тип политики, который определяет политику, которая будет возвращена.CORBA.Policy
полученный с данным типом.INV_POLICY
- брошенный, со стандартным незначительным кодом 1, если тип политики не допустим или потому что указанный тип не поддерживается этим ШАРОМ или потому что объект политики того типа не связывается с этим ОбъектомPortableInterceptor
пакет комментирует для ограничений / нереализованные функцииvoid add_request_service_context(ServiceContext service_context, boolean replace)
Нет никакого объявления порядка контекстов службы. Они могут или, возможно, не появляются в порядке, что они добавляются.
service_context
- IOP.ServiceContext
быть добавленным к запросу.replace
- Указывает на поведение этой работы, когда контекст службы уже существует с данным ID. Если ложь, то BAD_INV_ORDER
со стандартным незначительным кодом 15 бросается. Если это правда, тогда существующий контекст службы заменяется новым.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92