T.M. SoftStudio

feci quod potui, faciant meliora potentes

JAX-RPC API

Пакет javax.xml.rpc.holders

Пакет javax.xml.rpc.holders обеспечивает симуляцию способа pass-by-reference передачи аргументов при вызове удаленного метода Web-сервиса.

Существуют три вида JAX-RPC–параметров:

  • ParameterMode.IN — исходящие параметры;

  • ParameterMode.OUT — возвращаемые параметры;

  • ParameterMode.INOUT — исходящие параметры, значения которых изменяются в результате запроса.

Значения параметров IN передаются способом pass-by-copy, определенным в языке Java. Значения же параметров OUT и INOUT должны передаваться способом pass-by-reference, которого нет в языке Java. Поэтому объекты классов, реализующих интерфейс java.xml.rpc.holders.Holder, служат обертками для значений параметров OUT и INOUT при выполнении запроса клиентом.

Пакет javax.xml.rpc.holders содержит классы-обертки, связывающие простые XML-типы данных с простыми Java-типами. Для сложных XML-типов JAX-RPC-реализация генерирует на стороне клиента Holder-классы с помощью инструмента wscompile из WSDL-описания Web-сервиса. Возможно также создание пользовательских Holder-классов, при этом они также должны реализовывать интерфейс java.xml.rpc.holders.Holder и своей структурой соответствовать классам пакета javax.xml.rpc.holders.